Architecture specific change in rpms/rust-hashbrown0.12.git
by githook-noreply@fedoraproject.org
The package rpms/rust-hashbrown0.12.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/rust-hashbrown0.12.git/commit/?id....
Change:
+%ifarch %{arm}
Thanks.
Full change:
============
commit e6c8d87b3ae57e3583fb93a456c8a156822ac6ba
Author: Michel Alexandre Salim <salimma(a)fedoraproject.org>
Date: Sun Jan 22 21:22:19 2023 -0600
Initial Fedora package
Signed-off-by: Michel Alexandre Salim <salimma(a)fedoraproject.org>
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..c320a95
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+/hashbrown-0.12.3.crate
diff --git a/rust-hashbrown0.12.spec b/rust-hashbrown0.12.spec
new file mode 100644
index 0000000..b4cc412
--- /dev/null
+++ b/rust-hashbrown0.12.spec
@@ -0,0 +1,160 @@
+# Generated by rust2rpm 23
+%bcond_without check
+%global debug_package %{nil}
+
+%global crate hashbrown
+
+Name: rust-hashbrown0.12
+Version: 0.12.3
+Release: %autorelease
+Summary: Rust port of Google's SwissTable hash map
+
+License: MIT OR Apache-2.0
+URL: https://crates.io/crates/hashbrown
+Source: %{crates_source}
+
+BuildRequires: rust-packaging >= 21
+
+%global _description %{expand:
+Rust port of Google's SwissTable hash map.}
+
+%description %{_description}
+
+%package devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description devel %{_description}
+
+This package contains library source intended for building other packages which
+use the "%{crate}" crate.
+
+%files devel
+%license %{crate_instdir}/LICENSE-APACHE
+%license %{crate_instdir}/LICENSE-MIT
+%doc %{crate_instdir}/CHANGELOG.md
+%doc %{crate_instdir}/README.md
+%{crate_instdir}/
+
+%package -n %{name}+default-devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description -n %{name}+default-devel %{_description}
+
+This package contains library source intended for building other packages which
+use the "default" feature of the "%{crate}" crate.
+
+%files -n %{name}+default-devel
+%ghost %{crate_instdir}/Cargo.toml
+
+%package -n %{name}+ahash-devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description -n %{name}+ahash-devel %{_description}
+
+This package contains library source intended for building other packages which
+use the "ahash" feature of the "%{crate}" crate.
+
+%files -n %{name}+ahash-devel
+%ghost %{crate_instdir}/Cargo.toml
+
+%package -n %{name}+ahash-compile-time-rng-devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description -n %{name}+ahash-compile-time-rng-devel %{_description}
+
+This package contains library source intended for building other packages which
+use the "ahash-compile-time-rng" feature of the "%{crate}" crate.
+
+%files -n %{name}+ahash-compile-time-rng-devel
+%ghost %{crate_instdir}/Cargo.toml
+
+%package -n %{name}+bumpalo-devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description -n %{name}+bumpalo-devel %{_description}
+
+This package contains library source intended for building other packages which
+use the "bumpalo" feature of the "%{crate}" crate.
+
+%files -n %{name}+bumpalo-devel
+%ghost %{crate_instdir}/Cargo.toml
+
+%package -n %{name}+inline-more-devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description -n %{name}+inline-more-devel %{_description}
+
+This package contains library source intended for building other packages which
+use the "inline-more" feature of the "%{crate}" crate.
+
+%files -n %{name}+inline-more-devel
+%ghost %{crate_instdir}/Cargo.toml
+
+%package -n %{name}+raw-devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description -n %{name}+raw-devel %{_description}
+
+This package contains library source intended for building other packages which
+use the "raw" feature of the "%{crate}" crate.
+
+%files -n %{name}+raw-devel
+%ghost %{crate_instdir}/Cargo.toml
+
+%package -n %{name}+rayon-devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description -n %{name}+rayon-devel %{_description}
+
+This package contains library source intended for building other packages which
+use the "rayon" feature of the "%{crate}" crate.
+
+%files -n %{name}+rayon-devel
+%ghost %{crate_instdir}/Cargo.toml
+
+%package -n %{name}+serde-devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description -n %{name}+serde-devel %{_description}
+
+This package contains library source intended for building other packages which
+use the "serde" feature of the "%{crate}" crate.
+
+%files -n %{name}+serde-devel
+%ghost %{crate_instdir}/Cargo.toml
+
+%prep
+%autosetup -n %{crate}-%{version_no_tilde} -p1
+%cargo_prep
+
+%generate_buildrequires
+%cargo_generate_buildrequires
+
+%build
+%cargo_build
+
+%install
+%cargo_install
+
+%if %{with check}
+%check
+%ifarch %{arm}
+# * some doctests inconsistently fail on armv7hl:
+# https://github.com/rust-lang/hashbrown/issues/349
+%cargo_test -- --lib
+%else
+%cargo_test
+%endif
+%endif
+
+%changelog
+%autochangelog
diff --git a/sources b/sources
new file mode 100644
index 0000000..def794a
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+SHA512 (hashbrown-0.12.3.crate) = b3700fcd659a21a6b9b3777c18b37a83bf25542b4e8f2b963779a122f5d22e1742c064cfc03e649583e7dd5c6e90ca8407f8c51a0e8755f6a108682853022f76
1 year, 4 months
Architecture specific change in rpms/rust-hashbrown.git
by githook-noreply@fedoraproject.org
The package rpms/rust-hashbrown.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/rust-hashbrown.git/commit/?id=102....
Change:
-%ifarch %{arm}
Thanks.
Full change:
============
commit 1028e2cc928489098c7942462fdb467a55e2e651
Author: Michel Alexandre Salim <salimma(a)fedoraproject.org>
Date: Sun Jan 22 14:11:28 2023 -0600
Update to 0.13.2
Signed-off-by: Michel Alexandre Salim <salimma(a)fedoraproject.org>
diff --git a/.gitignore b/.gitignore
index 5421a28..39de672 100644
--- a/.gitignore
+++ b/.gitignore
@@ -15,3 +15,4 @@
/hashbrown-0.11.2.crate
/hashbrown-0.12.2.crate
/hashbrown-0.12.3.crate
+/hashbrown-0.13.2.crate
diff --git a/rust-hashbrown.spec b/rust-hashbrown.spec
index 54584f8..2f0caa9 100644
--- a/rust-hashbrown.spec
+++ b/rust-hashbrown.spec
@@ -1,21 +1,18 @@
-# Generated by rust2rpm 21
+# Generated by rust2rpm 23
%bcond_without check
%global debug_package %{nil}
%global crate hashbrown
-Name: rust-%{crate}
-Version: 0.12.3
+Name: rust-hashbrown
+Version: 0.13.2
Release: %autorelease
Summary: Rust port of Google's SwissTable hash map
-# Upstream license specification: MIT OR Apache-2.0
-License: MIT or ASL 2.0
+License: MIT OR Apache-2.0
URL: https://crates.io/crates/hashbrown
Source: %{crates_source}
-ExclusiveArch: %{rust_arches}
-
BuildRequires: rust-packaging >= 21
%global _description %{expand:
@@ -63,18 +60,6 @@ use the "ahash" feature of the "%{crate}" crate.
%files -n %{name}+ahash-devel
%ghost %{crate_instdir}/Cargo.toml
-%package -n %{name}+ahash-compile-time-rng-devel
-Summary: %{summary}
-BuildArch: noarch
-
-%description -n %{name}+ahash-compile-time-rng-devel %{_description}
-
-This package contains library source intended for building other packages which
-use the "ahash-compile-time-rng" feature of the "%{crate}" crate.
-
-%files -n %{name}+ahash-compile-time-rng-devel
-%ghost %{crate_instdir}/Cargo.toml
-
%package -n %{name}+bumpalo-devel
Summary: %{summary}
BuildArch: noarch
@@ -150,14 +135,8 @@ use the "serde" feature of the "%{crate}" crate.
%if %{with check}
%check
-%ifarch %{arm}
-# * some doctests inconsistently fail on armv7hl:
-# https://github.com/rust-lang/hashbrown/issues/349
-%cargo_test -- --lib
-%else
%cargo_test
%endif
-%endif
%changelog
%autochangelog
diff --git a/.rust2rpm.conf b/rust2rpm.conf
similarity index 100%
rename from .rust2rpm.conf
rename to rust2rpm.conf
diff --git a/sources b/sources
index def794a..08b4055 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (hashbrown-0.12.3.crate) = b3700fcd659a21a6b9b3777c18b37a83bf25542b4e8f2b963779a122f5d22e1742c064cfc03e649583e7dd5c6e90ca8407f8c51a0e8755f6a108682853022f76
+SHA512 (hashbrown-0.13.2.crate) = 21dae7a283326d21e16bb32ae0dd1481c4936939a32a06478a3351c2dec97941be532437b808e99ac40e7900a75433fe0efbd852158659a682461245e19d0e70
commit 87d4185e119cc27ce8545522c08515fb1c3a6425
Author: Fedora Release Engineering <releng(a)fedoraproject.org>
Date: Fri Jan 20 23:17:46 2023 +0000
Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng(a)fedoraproject.org>
commit 4173c09c9afc51f0fd50e44f53a3d954b6e5b8e8
Author: Fedora Release Engineering <releng(a)fedoraproject.org>
Date: Sat Jul 23 04:28:31 2022 +0000
Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng(a)fedoraproject.org>
1 year, 4 months
Architecture specific change in rpms/rust-hashbrown0.12.git
by githook-noreply@fedoraproject.org
The package rpms/rust-hashbrown0.12.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/rust-hashbrown0.12.git/commit/?id....
Change:
+%ifarch %{arm}
Thanks.
Full change:
============
commit e6c8d87b3ae57e3583fb93a456c8a156822ac6ba
Author: Michel Alexandre Salim <salimma(a)fedoraproject.org>
Date: Sun Jan 22 21:22:19 2023 -0600
Initial Fedora package
Signed-off-by: Michel Alexandre Salim <salimma(a)fedoraproject.org>
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..c320a95
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+/hashbrown-0.12.3.crate
diff --git a/rust-hashbrown0.12.spec b/rust-hashbrown0.12.spec
new file mode 100644
index 0000000..b4cc412
--- /dev/null
+++ b/rust-hashbrown0.12.spec
@@ -0,0 +1,160 @@
+# Generated by rust2rpm 23
+%bcond_without check
+%global debug_package %{nil}
+
+%global crate hashbrown
+
+Name: rust-hashbrown0.12
+Version: 0.12.3
+Release: %autorelease
+Summary: Rust port of Google's SwissTable hash map
+
+License: MIT OR Apache-2.0
+URL: https://crates.io/crates/hashbrown
+Source: %{crates_source}
+
+BuildRequires: rust-packaging >= 21
+
+%global _description %{expand:
+Rust port of Google's SwissTable hash map.}
+
+%description %{_description}
+
+%package devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description devel %{_description}
+
+This package contains library source intended for building other packages which
+use the "%{crate}" crate.
+
+%files devel
+%license %{crate_instdir}/LICENSE-APACHE
+%license %{crate_instdir}/LICENSE-MIT
+%doc %{crate_instdir}/CHANGELOG.md
+%doc %{crate_instdir}/README.md
+%{crate_instdir}/
+
+%package -n %{name}+default-devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description -n %{name}+default-devel %{_description}
+
+This package contains library source intended for building other packages which
+use the "default" feature of the "%{crate}" crate.
+
+%files -n %{name}+default-devel
+%ghost %{crate_instdir}/Cargo.toml
+
+%package -n %{name}+ahash-devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description -n %{name}+ahash-devel %{_description}
+
+This package contains library source intended for building other packages which
+use the "ahash" feature of the "%{crate}" crate.
+
+%files -n %{name}+ahash-devel
+%ghost %{crate_instdir}/Cargo.toml
+
+%package -n %{name}+ahash-compile-time-rng-devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description -n %{name}+ahash-compile-time-rng-devel %{_description}
+
+This package contains library source intended for building other packages which
+use the "ahash-compile-time-rng" feature of the "%{crate}" crate.
+
+%files -n %{name}+ahash-compile-time-rng-devel
+%ghost %{crate_instdir}/Cargo.toml
+
+%package -n %{name}+bumpalo-devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description -n %{name}+bumpalo-devel %{_description}
+
+This package contains library source intended for building other packages which
+use the "bumpalo" feature of the "%{crate}" crate.
+
+%files -n %{name}+bumpalo-devel
+%ghost %{crate_instdir}/Cargo.toml
+
+%package -n %{name}+inline-more-devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description -n %{name}+inline-more-devel %{_description}
+
+This package contains library source intended for building other packages which
+use the "inline-more" feature of the "%{crate}" crate.
+
+%files -n %{name}+inline-more-devel
+%ghost %{crate_instdir}/Cargo.toml
+
+%package -n %{name}+raw-devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description -n %{name}+raw-devel %{_description}
+
+This package contains library source intended for building other packages which
+use the "raw" feature of the "%{crate}" crate.
+
+%files -n %{name}+raw-devel
+%ghost %{crate_instdir}/Cargo.toml
+
+%package -n %{name}+rayon-devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description -n %{name}+rayon-devel %{_description}
+
+This package contains library source intended for building other packages which
+use the "rayon" feature of the "%{crate}" crate.
+
+%files -n %{name}+rayon-devel
+%ghost %{crate_instdir}/Cargo.toml
+
+%package -n %{name}+serde-devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description -n %{name}+serde-devel %{_description}
+
+This package contains library source intended for building other packages which
+use the "serde" feature of the "%{crate}" crate.
+
+%files -n %{name}+serde-devel
+%ghost %{crate_instdir}/Cargo.toml
+
+%prep
+%autosetup -n %{crate}-%{version_no_tilde} -p1
+%cargo_prep
+
+%generate_buildrequires
+%cargo_generate_buildrequires
+
+%build
+%cargo_build
+
+%install
+%cargo_install
+
+%if %{with check}
+%check
+%ifarch %{arm}
+# * some doctests inconsistently fail on armv7hl:
+# https://github.com/rust-lang/hashbrown/issues/349
+%cargo_test -- --lib
+%else
+%cargo_test
+%endif
+%endif
+
+%changelog
+%autochangelog
diff --git a/sources b/sources
new file mode 100644
index 0000000..def794a
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+SHA512 (hashbrown-0.12.3.crate) = b3700fcd659a21a6b9b3777c18b37a83bf25542b4e8f2b963779a122f5d22e1742c064cfc03e649583e7dd5c6e90ca8407f8c51a0e8755f6a108682853022f76
1 year, 4 months
Architecture specific change in rpms/rust-hashbrown.git
by githook-noreply@fedoraproject.org
The package rpms/rust-hashbrown.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/rust-hashbrown.git/commit/?id=102....
Change:
-%ifarch %{arm}
Thanks.
Full change:
============
commit 1028e2cc928489098c7942462fdb467a55e2e651
Author: Michel Alexandre Salim <salimma(a)fedoraproject.org>
Date: Sun Jan 22 14:11:28 2023 -0600
Update to 0.13.2
Signed-off-by: Michel Alexandre Salim <salimma(a)fedoraproject.org>
diff --git a/.gitignore b/.gitignore
index 5421a28..39de672 100644
--- a/.gitignore
+++ b/.gitignore
@@ -15,3 +15,4 @@
/hashbrown-0.11.2.crate
/hashbrown-0.12.2.crate
/hashbrown-0.12.3.crate
+/hashbrown-0.13.2.crate
diff --git a/rust-hashbrown.spec b/rust-hashbrown.spec
index 54584f8..2f0caa9 100644
--- a/rust-hashbrown.spec
+++ b/rust-hashbrown.spec
@@ -1,21 +1,18 @@
-# Generated by rust2rpm 21
+# Generated by rust2rpm 23
%bcond_without check
%global debug_package %{nil}
%global crate hashbrown
-Name: rust-%{crate}
-Version: 0.12.3
+Name: rust-hashbrown
+Version: 0.13.2
Release: %autorelease
Summary: Rust port of Google's SwissTable hash map
-# Upstream license specification: MIT OR Apache-2.0
-License: MIT or ASL 2.0
+License: MIT OR Apache-2.0
URL: https://crates.io/crates/hashbrown
Source: %{crates_source}
-ExclusiveArch: %{rust_arches}
-
BuildRequires: rust-packaging >= 21
%global _description %{expand:
@@ -63,18 +60,6 @@ use the "ahash" feature of the "%{crate}" crate.
%files -n %{name}+ahash-devel
%ghost %{crate_instdir}/Cargo.toml
-%package -n %{name}+ahash-compile-time-rng-devel
-Summary: %{summary}
-BuildArch: noarch
-
-%description -n %{name}+ahash-compile-time-rng-devel %{_description}
-
-This package contains library source intended for building other packages which
-use the "ahash-compile-time-rng" feature of the "%{crate}" crate.
-
-%files -n %{name}+ahash-compile-time-rng-devel
-%ghost %{crate_instdir}/Cargo.toml
-
%package -n %{name}+bumpalo-devel
Summary: %{summary}
BuildArch: noarch
@@ -150,14 +135,8 @@ use the "serde" feature of the "%{crate}" crate.
%if %{with check}
%check
-%ifarch %{arm}
-# * some doctests inconsistently fail on armv7hl:
-# https://github.com/rust-lang/hashbrown/issues/349
-%cargo_test -- --lib
-%else
%cargo_test
%endif
-%endif
%changelog
%autochangelog
diff --git a/.rust2rpm.conf b/rust2rpm.conf
similarity index 100%
rename from .rust2rpm.conf
rename to rust2rpm.conf
diff --git a/sources b/sources
index def794a..08b4055 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (hashbrown-0.12.3.crate) = b3700fcd659a21a6b9b3777c18b37a83bf25542b4e8f2b963779a122f5d22e1742c064cfc03e649583e7dd5c6e90ca8407f8c51a0e8755f6a108682853022f76
+SHA512 (hashbrown-0.13.2.crate) = 21dae7a283326d21e16bb32ae0dd1481c4936939a32a06478a3351c2dec97941be532437b808e99ac40e7900a75433fe0efbd852158659a682461245e19d0e70
commit 87d4185e119cc27ce8545522c08515fb1c3a6425
Author: Fedora Release Engineering <releng(a)fedoraproject.org>
Date: Fri Jan 20 23:17:46 2023 +0000
Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng(a)fedoraproject.org>
1 year, 4 months
Architecture specific change in rpms/rust-sysinfo.git
by githook-noreply@fedoraproject.org
The package rpms/rust-sysinfo.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/rust-sysinfo.git/commit/?id=09063....
Change:
+%ifarch s390x
Thanks.
Full change:
============
commit d70ea15f062745f47c29eba09cf9a217d903ddbd
Author: Michel Alexandre Salim <salimma(a)fedoraproject.org>
Date: Sun Jan 22 16:58:40 2023 -0600
Properly exclude failing tests
Signed-off-by: Michel Alexandre Salim <salimma(a)fedoraproject.org>
diff --git a/rust-sysinfo.spec b/rust-sysinfo.spec
index 8af3e00..e42f6a4 100644
--- a/rust-sysinfo.spec
+++ b/rust-sysinfo.spec
@@ -117,14 +117,23 @@ use the "rayon" feature of the "%{crate}" crate.
%if %{with check}
%check
+# skip tests that fail when run on vms, on tmpfs, or in systemd-nspawn
+%if 0%{?fedora} >= 38
+SKIP_TESTS=""
+%else
+SKIP_TESTS=" --skip test_disks"
+%endif
+
%ifarch s390x
# these tests panic with assertion failures on s390x
-%cargo_test -- -- \
- --skip test::check_cpus_number \
- --skip test::check_processes_cpu_usage
-%else
-%cargo_test
+SKIP_TESTS+=" --skip test::check_cpus_number --skip test::check_processes_cpu_usage"
%endif
+
+if [ -e ${SKIP_TESTS} ]; then
+%cargo_test
+else
+%cargo_test -- -- ${SKIP_TESTS}
+fi
%endif
%changelog
commit 090639837507f19edcb39f4efb56f5d5942625dc
Author: Michel Alexandre Salim <salimma(a)fedoraproject.org>
Date: Sun Jan 22 15:33:40 2023 -0600
Update to 0.27.7
Signed-off-by: Michel Alexandre Salim <salimma(a)fedoraproject.org>
diff --git a/.gitignore b/.gitignore
index 0b640ea..db034d1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -27,3 +27,4 @@
/sysinfo-0.19.2.crate
/sysinfo-0.23.13.crate
/sysinfo-0.24.7.crate
+/sysinfo-0.27.7.crate
diff --git a/rust-sysinfo.spec b/rust-sysinfo.spec
index 824928e..8af3e00 100644
--- a/rust-sysinfo.spec
+++ b/rust-sysinfo.spec
@@ -5,9 +5,9 @@
%global crate sysinfo
Name: rust-sysinfo
-Version: 0.24.7
+Version: 0.27.7
Release: %autorelease
-Summary: Library to get system information
+Summary: Library to get system information such as processes, CPUs, disks, components and networks
License: MIT
URL: https://crates.io/crates/sysinfo
@@ -117,8 +117,14 @@ use the "rayon" feature of the "%{crate}" crate.
%if %{with check}
%check
-# * skip tests that fail when run on VMs, on tmpfs, or in systemd-nspawn
-%cargo_test -- -- --skip test::check_processes_cpu_usage --skip test::check_cpus_number --skip test_disks
+%ifarch s390x
+# these tests panic with assertion failures on s390x
+%cargo_test -- -- \
+ --skip test::check_cpus_number \
+ --skip test::check_processes_cpu_usage
+%else
+%cargo_test
+%endif
%endif
%changelog
diff --git a/sources b/sources
index 31906e3..b8f6f0e 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (sysinfo-0.24.7.crate) = d566701996b55cd54e656f196a824025a23b3c8e647594108aca751c97ec1c35bb32333500c86d2335e9f35c626bcea5dce54340244a9ffdd88411fe4634e8e3
+SHA512 (sysinfo-0.27.7.crate) = f96f8a1717fe47c3c876b42abf5b56badff27c940da6e50c5c83e3becce3292306c203f1ec14656ccf6389c89a43b4194082d398a285c58e840f392e99139cdd
diff --git a/sysinfo-fix-metadata-auto.diff b/sysinfo-fix-metadata-auto.diff
index 161af6f..8ef7e6a 100644
--- a/sysinfo-fix-metadata-auto.diff
+++ b/sysinfo-fix-metadata-auto.diff
@@ -1,6 +1,6 @@
---- sysinfo-0.24.7/Cargo.toml 1970-01-01T00:00:01+00:00
-+++ sysinfo-0.24.7/Cargo.toml 1970-01-01T00:00:01+00:00
-@@ -53,49 +53,9 @@
+--- sysinfo-0.27.7/Cargo.toml 1970-01-01T00:00:01+00:00
++++ sysinfo-0.27.7/Cargo.toml 1970-01-01T00:00:01+00:00
+@@ -52,51 +52,9 @@
[target."cfg(all(target_os = \"linux\", not(target_os = \"android\")))".dev-dependencies.tempfile]
version = "3.2"
@@ -14,7 +14,7 @@
version = "^0.2.112"
-[target."cfg(windows)".dependencies.ntapi]
--version = "0.3"
+-version = "0.4"
-
-[target."cfg(windows)".dependencies.winapi]
-version = "0.3.9"
@@ -49,4 +49,6 @@
- "securitybaseapi",
- "shellapi",
- "std",
+- "iphlpapi",
+- "winsock2",
-]
diff --git a/sysinfo-fix-metadata.diff b/sysinfo-fix-metadata.diff
index ae79010..035cd17 100644
--- a/sysinfo-fix-metadata.diff
+++ b/sysinfo-fix-metadata.diff
@@ -1,6 +1,6 @@
---- sysinfo-0.24.7/Cargo.toml 1970-01-01T00:00:01+00:00
-+++ sysinfo-0.24.7/Cargo.toml 2022-12-15T13:46:46.677312+00:00
-@@ -42,13 +42,10 @@
+--- sysinfo-0.27.7/Cargo.toml 1970-01-01T00:00:01+00:00
++++ sysinfo-0.27.7/Cargo.toml 2023-01-22T21:19:34.354379+00:00
+@@ -41,13 +41,10 @@
optional = true
[features]
commit 00b39363044c0348979f3f626286fbf6d19c04cd
Author: Fedora Release Engineering <releng(a)fedoraproject.org>
Date: Sat Jan 21 01:40:15 2023 +0000
Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng(a)fedoraproject.org>
1 year, 4 months
Architecture specific change in rpms/rust-sysinfo.git
by githook-noreply@fedoraproject.org
The package rpms/rust-sysinfo.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/rust-sysinfo.git/commit/?id=09063....
Change:
+%ifarch s390x
Thanks.
Full change:
============
commit d70ea15f062745f47c29eba09cf9a217d903ddbd
Author: Michel Alexandre Salim <salimma(a)fedoraproject.org>
Date: Sun Jan 22 16:58:40 2023 -0600
Properly exclude failing tests
Signed-off-by: Michel Alexandre Salim <salimma(a)fedoraproject.org>
diff --git a/rust-sysinfo.spec b/rust-sysinfo.spec
index 8af3e00..e42f6a4 100644
--- a/rust-sysinfo.spec
+++ b/rust-sysinfo.spec
@@ -117,14 +117,23 @@ use the "rayon" feature of the "%{crate}" crate.
%if %{with check}
%check
+# skip tests that fail when run on vms, on tmpfs, or in systemd-nspawn
+%if 0%{?fedora} >= 38
+SKIP_TESTS=""
+%else
+SKIP_TESTS=" --skip test_disks"
+%endif
+
%ifarch s390x
# these tests panic with assertion failures on s390x
-%cargo_test -- -- \
- --skip test::check_cpus_number \
- --skip test::check_processes_cpu_usage
-%else
-%cargo_test
+SKIP_TESTS+=" --skip test::check_cpus_number --skip test::check_processes_cpu_usage"
%endif
+
+if [ -e ${SKIP_TESTS} ]; then
+%cargo_test
+else
+%cargo_test -- -- ${SKIP_TESTS}
+fi
%endif
%changelog
commit 090639837507f19edcb39f4efb56f5d5942625dc
Author: Michel Alexandre Salim <salimma(a)fedoraproject.org>
Date: Sun Jan 22 15:33:40 2023 -0600
Update to 0.27.7
Signed-off-by: Michel Alexandre Salim <salimma(a)fedoraproject.org>
diff --git a/.gitignore b/.gitignore
index 0b640ea..db034d1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -27,3 +27,4 @@
/sysinfo-0.19.2.crate
/sysinfo-0.23.13.crate
/sysinfo-0.24.7.crate
+/sysinfo-0.27.7.crate
diff --git a/rust-sysinfo.spec b/rust-sysinfo.spec
index 824928e..8af3e00 100644
--- a/rust-sysinfo.spec
+++ b/rust-sysinfo.spec
@@ -5,9 +5,9 @@
%global crate sysinfo
Name: rust-sysinfo
-Version: 0.24.7
+Version: 0.27.7
Release: %autorelease
-Summary: Library to get system information
+Summary: Library to get system information such as processes, CPUs, disks, components and networks
License: MIT
URL: https://crates.io/crates/sysinfo
@@ -117,8 +117,14 @@ use the "rayon" feature of the "%{crate}" crate.
%if %{with check}
%check
-# * skip tests that fail when run on VMs, on tmpfs, or in systemd-nspawn
-%cargo_test -- -- --skip test::check_processes_cpu_usage --skip test::check_cpus_number --skip test_disks
+%ifarch s390x
+# these tests panic with assertion failures on s390x
+%cargo_test -- -- \
+ --skip test::check_cpus_number \
+ --skip test::check_processes_cpu_usage
+%else
+%cargo_test
+%endif
%endif
%changelog
diff --git a/sources b/sources
index 31906e3..b8f6f0e 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (sysinfo-0.24.7.crate) = d566701996b55cd54e656f196a824025a23b3c8e647594108aca751c97ec1c35bb32333500c86d2335e9f35c626bcea5dce54340244a9ffdd88411fe4634e8e3
+SHA512 (sysinfo-0.27.7.crate) = f96f8a1717fe47c3c876b42abf5b56badff27c940da6e50c5c83e3becce3292306c203f1ec14656ccf6389c89a43b4194082d398a285c58e840f392e99139cdd
diff --git a/sysinfo-fix-metadata-auto.diff b/sysinfo-fix-metadata-auto.diff
index 161af6f..8ef7e6a 100644
--- a/sysinfo-fix-metadata-auto.diff
+++ b/sysinfo-fix-metadata-auto.diff
@@ -1,6 +1,6 @@
---- sysinfo-0.24.7/Cargo.toml 1970-01-01T00:00:01+00:00
-+++ sysinfo-0.24.7/Cargo.toml 1970-01-01T00:00:01+00:00
-@@ -53,49 +53,9 @@
+--- sysinfo-0.27.7/Cargo.toml 1970-01-01T00:00:01+00:00
++++ sysinfo-0.27.7/Cargo.toml 1970-01-01T00:00:01+00:00
+@@ -52,51 +52,9 @@
[target."cfg(all(target_os = \"linux\", not(target_os = \"android\")))".dev-dependencies.tempfile]
version = "3.2"
@@ -14,7 +14,7 @@
version = "^0.2.112"
-[target."cfg(windows)".dependencies.ntapi]
--version = "0.3"
+-version = "0.4"
-
-[target."cfg(windows)".dependencies.winapi]
-version = "0.3.9"
@@ -49,4 +49,6 @@
- "securitybaseapi",
- "shellapi",
- "std",
+- "iphlpapi",
+- "winsock2",
-]
diff --git a/sysinfo-fix-metadata.diff b/sysinfo-fix-metadata.diff
index ae79010..035cd17 100644
--- a/sysinfo-fix-metadata.diff
+++ b/sysinfo-fix-metadata.diff
@@ -1,6 +1,6 @@
---- sysinfo-0.24.7/Cargo.toml 1970-01-01T00:00:01+00:00
-+++ sysinfo-0.24.7/Cargo.toml 2022-12-15T13:46:46.677312+00:00
-@@ -42,13 +42,10 @@
+--- sysinfo-0.27.7/Cargo.toml 1970-01-01T00:00:01+00:00
++++ sysinfo-0.27.7/Cargo.toml 2023-01-22T21:19:34.354379+00:00
+@@ -41,13 +41,10 @@
optional = true
[features]
commit 00b39363044c0348979f3f626286fbf6d19c04cd
Author: Fedora Release Engineering <releng(a)fedoraproject.org>
Date: Sat Jan 21 01:40:15 2023 +0000
Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng(a)fedoraproject.org>
1 year, 4 months
Architecture specific change in rpms/xine-lib.git
by githook-noreply@fedoraproject.org
The package rpms/xine-lib.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/xine-lib.git/commit/?id=58be036c2...
https://src.fedoraproject.org/cgit/rpms/xine-lib.git/commit/?id=833c4969d...
https://src.fedoraproject.org/cgit/rpms/xine-lib.git/commit/?id=e51141ce4...
https://src.fedoraproject.org/cgit/rpms/xine-lib.git/commit/?id=f955cb1ab...
https://src.fedoraproject.org/cgit/rpms/xine-lib.git/commit/?id=016fec2ce...
https://src.fedoraproject.org/cgit/rpms/xine-lib.git/commit/?id=583b25cbe...
https://src.fedoraproject.org/cgit/rpms/xine-lib.git/commit/?id=ba91530bd...
https://src.fedoraproject.org/cgit/rpms/xine-lib.git/commit/?id=5c46b58bf...
https://src.fedoraproject.org/cgit/rpms/xine-lib.git/commit/?id=8a1dd4f6d...
https://src.fedoraproject.org/cgit/rpms/xine-lib.git/commit/?id=d41fcd6ff....
Change:
-%ifarch %{ix86}
+%ifarch %{ix86}
-%ifarch %{ix86}
+%ifarch %{arm}
+%ifarch %{ix86}
+%ifarch %{arm}
+%ifarch ppc64
+%ifarch %{ix86}
-%ifnarch ppc64 s390 s390x
+%ifnarch ppc64 s390 s390x
Thanks.
Full change:
============
commit 58be036c26e1a5eafb0566b5a747adc15b524fc2
Author: Neal Gompa <ngompa(a)fedoraproject.org>
Date: Mon Jan 23 10:01:56 2023 -0500
Rebase to version 1.2.12 based on RPM Fusion package
diff --git a/.gitignore b/.gitignore
index 6f9a840..1622692 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,3 +3,4 @@ xine-lib-1.1.19-pruned.tar.bz2
/xine-lib-1.1.20-pruned.tar.xz
/xine-lib-1.1.20.1-pruned.tar.xz
/xine-lib-1.1.21-pruned.tar.xz
+/xine-lib-1.2.12.tar.xz
diff --git a/Makefile b/Makefile
deleted file mode 100644
index 3f11a94..0000000
--- a/Makefile
+++ /dev/null
@@ -1,21 +0,0 @@
-# Makefile for source rpm: xine-lib
-# $Id$
-NAME := xine-lib
-SPECFILE = $(firstword $(wildcard *.spec))
-
-define find-makefile-common
-for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
-endef
-
-MAKEFILE_COMMON := $(shell $(find-makefile-common))
-
-ifeq ($(MAKEFILE_COMMON),)
-# attept a checkout
-define checkout-makefile-common
-test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2
-endef
-
-MAKEFILE_COMMON := $(shell $(checkout-makefile-common))
-endif
-
-include $(MAKEFILE_COMMON)
diff --git a/ffmpeg51.patch b/ffmpeg51.patch
new file mode 100644
index 0000000..40cec1e
--- /dev/null
+++ b/ffmpeg51.patch
@@ -0,0 +1,35 @@
+diff -uNrp a/src/combined/ffmpeg/ffmpeg_compat.h b/src/combined/ffmpeg/ffmpeg_compat.h
+--- a/src/combined/ffmpeg/ffmpeg_compat.h 2022-03-06 16:31:23.000000000 +0000
++++ b/src/combined/ffmpeg/ffmpeg_compat.h 2022-08-09 12:09:50.709059577 +0100
+@@ -19,6 +19,8 @@
+ *
+ * Compability macros for various ffmpeg versions
+ */
++#include <libavcodec/version.h>
++#include <libavutil/version.h>
+
+ #ifndef XINE_AVCODEC_COMPAT_H
+ #define XINE_AVCODEC_COMPAT_H
+diff -uNrp a/src/combined/ffmpeg/ffmpeg_decoder.h b/src/combined/ffmpeg/ffmpeg_decoder.h
+--- a/src/combined/ffmpeg/ffmpeg_decoder.h 2022-03-06 16:31:23.000000000 +0000
++++ b/src/combined/ffmpeg/ffmpeg_decoder.h 2022-08-09 12:42:16.081772933 +0100
+@@ -17,6 +17,8 @@
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
+ */
++#include <libavcodec/version.h>
++#include <libavformat/avformat.h>
+
+ #ifndef HAVE_XINE_DECODER_H
+ #define HAVE_XINE_DECODER_H
+diff -uNrp a/src/combined/ffmpeg/input_avio.c b/src/combined/ffmpeg/input_avio.c
+--- a/src/combined/ffmpeg/input_avio.c 2022-03-06 16:31:23.000000000 +0000
++++ b/src/combined/ffmpeg/input_avio.c 2022-08-09 11:33:54.527895581 +0100
+@@ -28,6 +28,7 @@
+ #include <string.h>
+ #include <pthread.h>
+
++#include <libavutil/avutil.h>
+ #include <libavformat/avio.h>
+
+ #define LOG_MODULE "libavio"
diff --git a/make_xinelib_snapshot.sh b/make_xinelib_snapshot.sh
new file mode 100644
index 0000000..c802a01
--- /dev/null
+++ b/make_xinelib_snapshot.sh
@@ -0,0 +1,20 @@
+#!/bin/bash
+
+# This script is intended to make a xine-lib snapshot.
+# If no argument is provided, it will make a snapshot of HEAD.
+# If the svn revision is provided as an argument, it will make a snapshot of
+# this revision.
+
+TMPDIR=$(mktemp -d)
+pushd "$TMPDIR" || exit
+echo -n "Cloning xine-lib-1.2 "
+[ -n "$1" ] && echo "revision $1" || echo "HEAD"
+[ -n "$1" ] && OPT="-u $1 " || OPT=""
+hg clone $OPT http://hg.code.sf.net/p/xine/xine-lib-1.2 xine-lib-1.2
+cd xine-lib-1.2 || exit
+autoreconf -vif
+./configure
+make dist
+popd || exit
+cp -p "$TMPDIR"/xine-lib-1.2/xine-lib-1.2*.tar.xz .
+rm -rf "$TMPDIR"
diff --git a/sources b/sources
index fd1b3c5..921d38c 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-1568a378a732bd9b69d418674ad4165c xine-lib-1.1.21-pruned.tar.xz
+SHA512 (xine-lib-1.2.12.tar.xz) = cdc913d0c78a3a34bd6e4060040fd844f22dbc673330e30769c83e9682a46f3369af8f59bd0c759ddc601de979b13d53e7ed10c54f3b78bdc63afceb484826be
diff --git a/xine-lib-1.1.16.2-multilib.patch b/xine-lib-1.1.16.2-multilib.patch
deleted file mode 100644
index 4609e63..0000000
--- a/xine-lib-1.1.16.2-multilib.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff -up xine-lib-1.1.16.2/misc/xine-config.in.multilib xine-lib-1.1.16.2/misc/xine-config.in
---- xine-lib-1.1.16.2/misc/xine-config.in.multilib 2008-06-25 08:04:09.000000000 -0500
-+++ xine-lib-1.1.16.2/misc/xine-config.in 2009-02-20 07:34:27.000000000 -0600
-@@ -6,12 +6,6 @@ unset prefix
- unset exec_prefix
- unset args
-
--PKG_CONFIG_PATH="`cat <<'EOF'
--@XINE_PKGCONFIG_DIR@
--EOF
--`${PKG_CONFIG_PATH:+:}$PKG_CONFIG_PATH"
--export PKG_CONFIG_PATH
--
- usage()
- {
- cat <<EOF
diff --git a/xine-lib-1.1.17-avsync_hack.patch b/xine-lib-1.1.17-avsync_hack.patch
deleted file mode 100644
index 5fa1ae1..0000000
--- a/xine-lib-1.1.17-avsync_hack.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff -up xine-lib-1.1.17/src/xine-engine/audio_out.c.avsync_hack xine-lib-1.1.17/src/xine-engine/audio_out.c
---- xine-lib-1.1.17/src/xine-engine/audio_out.c.avsync_hack 2009-11-30 19:33:30.000000000 -0600
-+++ xine-lib-1.1.17/src/xine-engine/audio_out.c 2009-12-02 09:07:37.622805780 -0600
-@@ -1156,8 +1156,17 @@ static void *ao_loop (void *this_gen) {
-
- /*
- * calculate gap:
-+ *
-+ * HACK (rwa): If we have no video stream we do not need an AV sync and so
-+ * we assume a gap of 0. This seems to avoid the skips in the
-+ * first seconds when playing audio-only via the "glitch-free"
-+ * pulseaudio server.
- */
-- gap = in_buf->vpts - hw_vpts;
-+ if (in_buf && in_buf->stream && in_buf->stream->video_decoder_plugin) {
-+ gap = in_buf->vpts - hw_vpts;
-+ } else {
-+ gap = 0;
-+ }
- lprintf ("hw_vpts : %" PRId64 " buffer_vpts : %" PRId64 " gap : %" PRId64 "\n",
- hw_vpts, in_buf->vpts, gap);
-
diff --git a/xine-lib-1.1.19-no_autopoint.patch b/xine-lib-1.1.19-no_autopoint.patch
deleted file mode 100644
index d5ee0cd..0000000
--- a/xine-lib-1.1.19-no_autopoint.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff -up xine-lib-1.1.17/autogen.sh.no_autopoint xine-lib-1.1.17/autogen.sh
---- xine-lib-1.1.17/autogen.sh.no_autopoint 2009-10-09 09:33:31.000000000 -0500
-+++ xine-lib-1.1.17/autogen.sh 2009-12-02 09:15:48.534555467 -0600
-@@ -229,10 +229,10 @@ run_aclocal () {
- echo
- fi
-
-- echo $_echo_n " + Running autopoint: $_echo_c"
-+ #echo $_echo_n " + Running autopoint: $_echo_c"
-
-- autopoint
-- echo "done."
-+ #autopoint
-+ #echo "done."
-
- echo $_echo_n " + Running aclocal: $_echo_c"
-
diff --git a/xine-lib-1.1.21-samba4.patch b/xine-lib-1.1.21-samba4.patch
deleted file mode 100644
index 6c5f67d..0000000
--- a/xine-lib-1.1.21-samba4.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-diff -ur xine-lib-1.1.21/configure.ac xine-lib-1.1.21-samba4/configure.ac
---- xine-lib-1.1.21/configure.ac 2012-07-16 21:42:38.000000000 +0200
-+++ xine-lib-1.1.21-samba4/configure.ac 2013-02-12 15:44:33.000000000 +0100
-@@ -1698,12 +1698,10 @@
- [with_samba=$enableval], [with_samba=yes])
-
- if test "x$with_samba" = "xyes"; then
-- AC_CHECK_LIB(smbclient, smbc_init,
-- [ AC_CHECK_HEADER(libsmbclient.h,
-- [ have_libsmbclient=yes
-- LIBSMBCLIENT_LIBS="-lsmbclient" ],
-- AC_MSG_RESULT([*** All libsmbclient dependent parts will be disabled ***]))],
-- AC_MSG_RESULT([*** All libsmbclient dependent parts will be disabled ***]))
-+ PKG_CHECK_MODULES([LIBSMBCLIENT], [smbclient],
-+ [have_libsmbclient=yes],
-+ AC_MSG_RESULT(*** All libsmbclient dependent parts will be disabled ***))
-+ AC_SUBST(LIBSMBCLIENT_CFLAGS)
- AC_SUBST(LIBSMBCLIENT_LIBS)
- fi
- AM_CONDITIONAL(HAVE_LIBSMBCLIENT, test "x$have_libsmbclient" = "xyes")
-diff -ur xine-lib-1.1.21/src/input/Makefile.am xine-lib-1.1.21-samba4/src/input/Makefile.am
---- xine-lib-1.1.21/src/input/Makefile.am 2012-07-16 21:42:38.000000000 +0200
-+++ xine-lib-1.1.21-samba4/src/input/Makefile.am 2013-02-12 15:46:45.000000000 +0100
-@@ -150,7 +150,7 @@
-
- xineplug_inp_smb_la_SOURCES = input_smb.c
- xineplug_inp_smb_la_LIBADD = $(XINE_LIB) $(LIBSMBCLIENT_LIBS) $(LTLIBINTL)
--xineplug_inp_smb_la_CFLAGS = $(VISIBILITY_FLAG) $(AM_CFLAGS)
-+xineplug_inp_smb_la_CFLAGS = $(VISIBILITY_FLAG) $(AM_CFLAGS) $(LIBSMBCLIENT_CFLAGS)
- xineplug_inp_smb_la_LDFLAGS = $(xineplug_ldflags)
-
- xineplug_inp_pvr_la_SOURCES = input_pvr.c
diff --git a/xine-lib-1.1.4-optflags.patch b/xine-lib-1.1.4-optflags.patch
deleted file mode 100644
index 72540f6..0000000
--- a/xine-lib-1.1.4-optflags.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- xine-lib-1.1.4/m4/optimizations.m4~ 2006-06-17 18:20:56.000000000 +0300
-+++ xine-lib-1.1.4/m4/optimizations.m4 2007-01-30 23:03:27.000000000 +0200
-@@ -107,7 +107,7 @@
-
- DEBUG_CFLAGS="-O $DEBUG_CFLAGS"
-
-- if test x"$sarchopt" != "xno"; then
-+ if false ; then
- archopt_val=
-
- case "$host_or_hostalias" in
diff --git a/xine-lib-1.2.12-dav1d_100_support.patch b/xine-lib-1.2.12-dav1d_100_support.patch
new file mode 100644
index 0000000..f2b66b2
--- /dev/null
+++ b/xine-lib-1.2.12-dav1d_100_support.patch
@@ -0,0 +1,40 @@
+# HG changeset patch
+# User Petri Hintukainen <phintuka(a)users.sourceforge.net>
+# Date 1648142359 -7200
+# Thu Mar 24 19:19:19 2022 +0200
+# Node ID 97248a71021428baa49e2b2af34f566a3257452a
+# Parent b044102cc61810eec217d3911028ec18f87408cc
+dav1d 1.0.0 support
+
+https://sourceforge.net/p/xine/tickets/11/
+
+diff -r b044102cc618 -r 97248a710214 ChangeLog
+--- a/ChangeLog Thu Mar 17 14:05:08 2022 +0200
++++ b/ChangeLog Thu Mar 24 19:19:19 2022 +0200
+@@ -1,3 +1,5 @@
++ * Add dav1d 1.0.0 support.
++
+ xine-lib (1.2.12) 2022-03-09
+ * Add string tree library (generic info parser).
+ * Add OpenSL ES audio output plugin.
+diff -r b044102cc618 -r 97248a710214 src/video_dec/dav1d.c
+--- a/src/video_dec/dav1d.c Thu Mar 17 14:05:08 2022 +0200
++++ b/src/video_dec/dav1d.c Thu Mar 24 19:19:19 2022 +0200
+@@ -544,11 +544,17 @@
+
+ /* multithreading */
+ ncpu = xine_cpu_count();
++#if DAV1D_API_VERSION_MAJOR > 5
++ settings.n_threads = ncpu + 1;
++ xprintf(stream->xine, XINE_VERBOSITY_DEBUG, LOG_MODULE ": "
++ "Using %d threads\n", settings.n_threads);
++#else
+ settings.n_frame_threads = (ncpu > 8) ? 4 : (ncpu < 2) ? 1 : ncpu/2;
+ settings.n_tile_threads = MAX(1, ncpu - settings.n_frame_threads + 1);
+ xprintf(stream->xine, XINE_VERBOSITY_DEBUG, LOG_MODULE ": "
+ "Using %d frame threads, %d tile threads\n",
+ settings.n_frame_threads, settings.n_tile_threads);
++#endif
+
+ /* dri frame allocator */
+ settings.allocator.cookie = this;
diff --git a/xine-lib-1.2.12-fix_older_libcaca.patch b/xine-lib-1.2.12-fix_older_libcaca.patch
new file mode 100644
index 0000000..85bb014
--- /dev/null
+++ b/xine-lib-1.2.12-fix_older_libcaca.patch
@@ -0,0 +1,22 @@
+# HG changeset patch
+# User Xavier Bachelot <xavier(a)bachelot.org>
+# Date 1646916446 -3600
+# Thu Mar 10 13:47:26 2022 +0100
+# Node ID 6488085f778dd8115562ca308e2a60b502954dfc
+# Parent 41217d6440d1f52478180d7e477aa7e7df953507
+Fix build with older libcaca
+
+This was introduced in 3f383e
+
+diff -r 41217d6440d1 -r 6488085f778d src/video_out/video_out_caca.c
+--- a/src/video_out/video_out_caca.c Wed Mar 09 15:12:14 2022 +0200
++++ b/src/video_out/video_out_caca.c Thu Mar 10 13:47:26 2022 +0100
+@@ -44,7 +44,7 @@
+ # define caca_get_canvas_height cucul_get_canvas_height
+ # define caca_free_canvas cucul_free_canvas
+ # define caca_dither_t cucul_dither_t
+-# define caca_create_dither define cucul_create_dither
++# define caca_create_dither cucul_create_dither
+ # define caca_dither_bitmap cucul_dither_bitmap
+ # define caca_free_dither cucul_free_dither
+ #endif
diff --git a/xine-lib-cleanup-sources.sh b/xine-lib-cleanup-sources.sh
deleted file mode 100755
index a250800..0000000
--- a/xine-lib-cleanup-sources.sh
+++ /dev/null
@@ -1,90 +0,0 @@
-#!/bin/bash
-
-if [ -z "$1" -o $# -ne 1 ]; then
- echo "Usage: $0 <xine-version>"
- exit 2
-fi
-
-version=$1
-tarball="xine-lib-$version.tar.xz"
-dir="xine-lib-$version"
-modtarball="xine-lib-$version-pruned.tar.xz"
-
-
-if [ ! -f $tarball ]; then
- echo "Can't find $tarball !"
- exit 1
-fi
-
-echo "Uncompressing $tarball..."
-rm -rf $dir
-tar -xJf $tarball
-cd $dir
-
-rmpluglib()
-{
- echo "removing src/$1/$2..."
- rm -rf src/$1/$2
- sed -i -e "s/SUBDIRS = \(.*\)$2\(.*\)/SUBDIRS = \1\2/g" src/$1/Makefile.am
- sed -i -e "/^src\/$1\/$2/d" configure.ac
-}
-
-# Main libraries
-for remove in libfaad libffmpeg libmad libmpeg2 libmpeg2new dxr3 liba52 libdts; do
- echo "removing src/$remove..."
- rm -rf src/$remove
- sed -i -e "/$remove/d" src/Makefile.am
- sed -i -e "/^src\/$remove/d" configure.ac
-done
-# Input plugin libraries
-for remove in vcd; do
- rmpluglib input vcd
-done
-for remove in ffmpeg; do
- rmpluglib combined ffmpeg
-done
-# Input plugins
-# DVD reading (dvd input plugin) has now been in Fedora for a while (libdvdread,
-# libdvdnav), the xine-lib code only wraps those libraries. (Decrypting and
-# decoding are of course still separate and forbidden in Fedora.)
-for p in vcd mms; do
- echo "removing $p input plugin..."
- # Remove sources
- for sourcefile in `awk '/^xineplug_inp_'$p'_la_SOURCES/ { $1=""; $2=""; print $0}' src/input/Makefile.am`; do
- if [ "`grep -v '^EXTRA_DIST = ' src/input/Makefile.am | grep -c $sourcefile`" -le 1 ]; then # if this file is only used for this plugin
- rm -f src/input/$sourcefile
- fi
- done
- # Remove from Makefile
- sed -i -e "/xineplug_inp_$p/d" src/input/Makefile.am
-done
-# Demuxers
-# These are ok now ( http://bugzilla.redhat.com/213597 )
-#for p in mpeg mpeg_block mpeg_ts mpeg_elem mpeg_pes yuv4mpeg2; do
-# echo "removing $p demuxer..."
-# [ -f src/demuxers/demux_$p.c ] && rm -f src/demuxers/demux_$p.c
-# sed -i -e "/xineplug_dmx_$p/d" src/demuxers/Makefile.am
-#done
-# Postprocessors
-echo "removing planar and deinterlace postprocessors..."
-sed -i -e 's/deinterlace //g' src/post/Makefile.am # see comments in speedy.c
-sed -i -e 's/planar //g' src/post/Makefile.am # requires libpostproc
-sed -i -e '/post\/\(deinterlace\|planar\)/d' configure.ac
-rm -rf src/post/{deinterlace,planar}
-# NSF decoder
-echo "removing NSF decoder..."
-rm -rf src/libxineadec/{nosefart,nsf.c}
-sed -i -e '/^xineplug_decode_nsf_la/,/^\s*$/d' \
- -e /xineplug_decode_nsf/d \
- -e 's/ nosefart//' \
- src/libxineadec/Makefile.am
-sed -i -e '/nosefart\/Makefile/d' configure.ac
-# Patches for forbidden libraries
-rm -fv misc/lib*.patch win32/scripts/*.patch
-
-# All clean !
-
-cd ..
-echo "Generating $modtarball..."
-tar -cJf $modtarball $dir
-rm -rf $dir
diff --git a/xine-lib.spec b/xine-lib.spec
index 0b1bf41..98cc30c 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -1,252 +1,194 @@
-# TODO, sometime, maybe:
-# - libstk: http://www.libstk.net/ - probably not, see 1.1.5 ChangeLog
-# - drop the opengl video out plugin?
-
-%define plugin_abi 1.30
-%define codecdir %{_libdir}/codecs
-
-%ifarch %{ix86}
- %define have_vidix 1
-%else
- %define have_vidix 0
-%endif # ix86
-
-%ifarch %{arm}
-%define _without_directfb 1
+%define _legacy_common_support 1
+%global plugin_abi 2.10
+%global codecdir %{_libdir}/codecs
+
+%if 0%{?el9}
+ # RHBZ 2031269 / 2031744
+ %global _without_dvdnav 1
+ # RHBZ 2031270
+ %global _without_nfs 1
%endif
-%if 0%{?fedora} > 14
-%define _disable_v4l1 1
-%endif
+# Not permitted in Fedora, ffmpeg covers this anyway
+%global _without_faad2 1
+%global _without_fame 1
-%if 0%{?fedora} > 16
-%define _without_esound 1
-%endif
+# Pending inclusion to Fedora
+%global _without_dca 1
+%global _without_vcd 1
-%if 0%{?fedora} > 16
-%define bluray 1
+%ifarch %{ix86}
+ %global have_vidix 1
+%else
+ %global have_vidix 0
%endif
-%if 0%{?fedora} > 19
-%define _without_directfb 1
-%endif
+#global snapshot 1
+#global date 20220307
+#global revision 15076
Summary: A multimedia engine
Name: xine-lib
-Version: 1.1.21
-Release: 10%{?dist}
-License: GPLv2+
-Group: System Environment/Libraries
-URL: http://www.xine-project.org/
-# The tarball is generated from the upstream tarball using
-# the script in SOURCE1. It prunes potentially patented code
-#Source0: http://downloads.sourceforge.net/xine/xine-lib-%{version}.tar.xz
-Source0: xine-lib-%{version}-pruned.tar.xz
-Source1: xine-lib-cleanup-sources.sh
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-
-Patch0: xine-lib-1.1.19-no_autopoint.patch
-Patch1: xine-lib-1.1.4-optflags.patch
-# http://bugzilla.redhat.com/470568
-Patch2: xine-lib-1.1.17-avsync_hack.patch
-# http://bugzilla.redhat.com/477226
-Patch3: xine-lib-1.1.16.2-multilib.patch
-# find the Samba 4 libsmbclient.h using pkg-config (#909825)
-Patch4: xine-lib-1.1.21-samba4.patch
-
-Provides: xine-lib(plugin-abi) = %{plugin_abi}
-%{?_isa:Provides: xine-lib(plugin-abi)%{?_isa} = %{plugin_abi}}
-
-# DVD plugin moved from there
-Conflicts: xine-lib-extras-freeworld < 1.1.21-3
-
-BuildRequires: autoconf automake libtool
-# X11
-BuildRequires: libX11-devel
-BuildRequires: libXv-devel
-BuildRequires: libXinerama-devel
-BuildRequires: libXvMC-devel
+Version: 1.2.12
+Release: 10%{?snapshot:.%{date}hg%{revision}}%{?dist}
+License: GPL-2.0-or-later
+URL: https://www.xine-project.org/
+%if ! 0%{?snapshot}
+Source0: https://downloads.sourceforge.net/xine/xine-lib-%{version}.tar.xz
+%else
+Source0: xine-lib-%{version}-%{date}hg%{revision}.tar.xz
+%endif
+# Script to make a snapshot
+Source1: make_xinelib_snapshot.sh
+
+# https://sourceforge.net/p/xine/xine-lib-1.2/ci/928cdea835e656d6e1411c767e...
+Patch1: xine-lib-1.2.12-fix_older_libcaca.patch
+# https://sourceforge.net/p/xine/xine-lib-1.2/ci/97248a71021428baa49e2b2af3...
+Patch2: xine-lib-1.2.12-dav1d_100_support.patch
+Patch3: ffmpeg51.patch
+
+Provides: xine-lib(plugin-abi) = %{plugin_abi}
+Provides: xine-lib(plugin-abi)%{?_isa} = %{plugin_abi}
+
+Obsoletes: xine-lib-extras-freeworld < 1.1.21-10
+Provides: xine-lib-extras-freeworld = %{version}-%{release}
+
+BuildRequires: a52dec-devel
+BuildRequires: aalib-devel
+BuildRequires: alsa-lib-devel
+%{!?_without_faad2:BuildRequires: faad2-devel}
+BuildRequires: ffmpeg-free-devel
+BuildRequires: flac-devel
+BuildRequires: fontconfig-devel
+BuildRequires: gcc
+BuildRequires: gettext-devel
+BuildRequires: gnutls-devel
+BuildRequires: gtk2-devel
+%{!?_without_imagemagick:BuildRequires: ImageMagick-devel}
+BuildRequires: pipewire-jack-audio-connection-kit-devel
+BuildRequires: libaom-devel >= 1.0.0
+BuildRequires: libbluray-devel >= 0.2.1
+BuildRequires: libcaca-devel
+BuildRequires: libcdio-devel
+BuildRequires: libdav1d-devel >= 0.3.1
+%{!?_without_dca:BuildRequires: libdca-devel}
+%{!?_without_dvdnav:BuildRequires: libdvdnav-devel}
+BuildRequires: libdvdread-devel
+%{!?_without_fame:BuildRequires: libfame-devel}
+BuildRequires: libgcrypt-devel
BuildRequires: libGLU-devel
-BuildRequires: libv4l-devel
-BuildRequires: libxcb-devel
-# Video
-BuildRequires: SDL-devel
-BuildRequires: libtheora-devel
+BuildRequires: libmad-devel
BuildRequires: libmng-devel
-BuildRequires: aalib-devel >= 1.4
-BuildRequires: libcaca-devel >= 0.99-0.5.beta14
-%if 0%{!?_without_directfb:1}
-BuildRequires: directfb-devel
-%endif # directfb
-BuildRequires: ImageMagick-devel >= 6.2.4.6-1
-%if 0%{?_with_freetype:1}
-BuildRequires: fontconfig-devel
-%endif # freetype
-# Audio
-BuildRequires: alsa-lib-devel >= 0.9.0
-%if 0%{!?_without_esound:1}
-BuildRequires: esound-devel
-%endif # esound
-BuildRequires: flac-devel
-BuildRequires: jack-audio-connection-kit-devel
BuildRequires: libmodplug-devel
BuildRequires: libmpcdec-devel
+%{!?_without_nfs:BuildRequires: libnfs-devel}
+BuildRequires: libpng-devel >= 1.6.0
+BuildRequires: libsmbclient-devel
+BuildRequires: libssh2-devel
+BuildRequires: libtheora-devel
+BuildRequires: libtool
+BuildRequires: libv4l-devel
+BuildRequires: libva-devel
+BuildRequires: libvdpau-devel
BuildRequires: libvorbis-devel
+BuildRequires: libvpx-devel
+BuildRequires: libX11-devel
+BuildRequires: libxcb-devel
+BuildRequires: libXext-devel
+BuildRequires: libXinerama-devel
+BuildRequires: libXt-devel
+BuildRequires: libXv-devel
+BuildRequires: mesa-libEGL-devel
+BuildRequires: openssl-devel >= 1.0.2
+BuildRequires: pkgconfig(libpulse)
+BuildRequires: SDL-devel
BuildRequires: speex-devel
+%{!?_without_vcd:BuildRequires: vcdimager-devel}
BuildRequires: wavpack-devel
-# CDs
-BuildRequires: libcdio-devel
-# Other
-BuildRequires: pkgconfig
-BuildRequires: pkgconfig(libpulse)
-BuildRequires: gtk2-devel
-BuildRequires: libsmbclient-devel
-BuildRequires: libdvdnav-devel
-BuildRequires: libdvdread-devel
-%if 0%{?bluray}
-BuildRequires: libbluray-devel
-%endif
+BuildRequires: wayland-devel
-# Dropped in Fedora 9
-Obsoletes: xine-lib-arts < %{version}-%{release}
-
-# Included in main package since Fedora 12
-Obsoletes: xine-lib-pulseaudio < 1.1.16.3-5
-Provides: xine-lib-pulseaudio = %{version}-%{release}
%description
This package contains the Xine library. It can be used to play back
various media, decode multimedia files from local disk drives, and display
multimedia streamed over the Internet. It interprets many of the most
-common multimedia formats available - and some uncommon formats, too.
+common multimedia formats available - and some uncommon formats, too.
%package devel
Summary: Xine library development files
-Group: Development/Libraries
Requires: %{name}%{?_isa} = %{version}-%{release}
-Requires: pkgconfig
-Requires: zlib-devel
+Requires: zlib-devel%{?_isa}
%description devel
This package contains development files for %{name}.
%package extras
-Summary: Additional plugins for %{name}
-Group: System Environment/Libraries
+Summary: Additional plugins for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
-#Requires: xine-lib(plugin-abi) = %{plugin_abi}
%description extras
This package contains extra plugins for %{name}:
-%if 0%{!?_without_esound:1}
- - EsounD
-%endif # esound
- JACK
- GDK-Pixbuf
- SMB
- SDL
- AA-lib
- Libcaca
- - Image decoding
-%if 0%{!?_without_directfb:1}
- - DirectFB output
-%endif # directfb
+%{!?_without_imagemagick: - Image decoding}
%prep
-%setup -q
-%patch0 -p1 -b .no_autopoint
-# extra work for to omit old libtool-related crud
-rm -f configure ltmain.sh libtool m4/libtool.m4 m4/ltoptions.m4 m4/ltversion.m4
-%patch1 -p1 -b .optflags
-%patch2 -p1 -b .avsync_hack
-%patch3 -p1 -b .multilib
-%patch4 -p1 -b .samba4
-
-./autogen.sh noconfig
+%autosetup -p1 %{?snapshot:-n %{name}-%{version}-%{date}hg%{revision}}
%build
-export FFMPEG_CFLAGS=" " FFMPEG_LIBS=" "
-export FFMPEG_POSTPROC_CFLAGS=" " FFMPEG_POSTPROC_LIBS=" "
-export FFMPEG_UTIL_CFLAGS=" " FFMPEG_UTIL_LIBS=" "
-export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)"
+autoreconf -fiv
# Keep list of options in mostly the same order as ./configure --help.
%configure \
--disable-dependency-tracking \
--enable-ipv6 \
-%if 0%{!?_without_directfb:1}
- --enable-directfb \
-%endif # directfb
- --enable-v4l \
+ --enable-v4l2 \
--enable-libv4l \
- --enable-xvmc \
--disable-gnomevfs \
- --disable-a52dec \
- --disable-mad \
- --disable-vcd \
- --disable-asf \
- --disable-faad \
-%if 0%{?_with_freetype:1}
-%if 0%{?_with_antialiasing:1}
+ %{?_without_faad2:--disable-faad} \
+ %{?_without_dca:--disable-dts} \
--enable-antialiasing \
-%endif # antialiasing
--with-freetype \
--with-fontconfig \
-%endif # freetype
--with-caca \
- --with-external-ffmpeg \
- --with-external-dvdnav \
+ %{!?_without_dvdnav:--with-external-dvdnav} \
--with-xv-path=%{_libdir} \
--with-libflac \
- --with-external-libmpcdec \
- --without-arts \
-%if 0%{?_without_esound:1}
--without-esound \
-%endif
--with-wavpack \
--with-real-codecs-path=%{codecdir} \
--with-w32-path=%{codecdir}
-make %{?_smp_mflags}
+# Remove rpath
+sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
+sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
+
+%make_build
%install
-rm -rf $RPM_BUILD_ROOT __docs
-make install DESTDIR=$RPM_BUILD_ROOT
-%find_lang libxine1
-cp -pR $RPM_BUILD_ROOT%{_docdir}/xine-lib __docs
-rm -rf $RPM_BUILD_ROOT%{_docdir}/xine-lib
+%make_install
+%find_lang libxine2
+mv %{buildroot}%{_docdir}/xine-lib __docs
# Removing useless files
-rm -Rf $RPM_BUILD_ROOT%{_libdir}/libxine.la __docs/README \
- __docs/README.{freebsd,irix,solaris,MINGWCROSS,WIN32} \
- __docs/README.{dxr3,network_dvd}
+rm -Rf %{buildroot}%{_libdir}/libxine*.la __docs/README \
+ __docs/README.{freebsd,irix,macosx,solaris,MINGWCROSS,WIN32}
# Directory for binary codecs
-mkdir -p $RPM_BUILD_ROOT%{codecdir}
+mkdir -p %{buildroot}%{codecdir}
-# unpackaged files
-%if 0%{?_disable_v4l1:1}
-rm -fv $RPM_BUILD_ROOT%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_pvr.so
-rm -fv $RPM_BUILD_ROOT%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_v4l.so
-%endif
-
-
-%clean
-rm -rf $RPM_BUILD_ROOT
-
-
-%post -p /sbin/ldconfig
-%postun -p /sbin/ldconfig
-
-
-%files -f libxine1.lang
-%defattr(-,root,root,-)
-%doc AUTHORS COPYING COPYING.LIB CREDITS ChangeLog* README TODO
+%files -f libxine2.lang
+%doc AUTHORS CREDITS ChangeLog* README TODO
%doc __docs/README.* __docs/faq.*
+%license COPYING COPYING.LIB
%dir %{codecdir}/
-%{_datadir}/xine/
-%{_libdir}/libxine.so.*
+%{_datadir}/xine-lib/
+%{_libdir}/libxine.so.2*
%{_mandir}/man5/xine.5*
%dir %{_libdir}/xine/
%dir %{_libdir}/xine/plugins/
@@ -259,7 +201,9 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_audio_filters.so
%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_goom.so
%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_mosaico.so
+%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_planar.so
%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_switch.so
+%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_tvtime.so
%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_visualizations.so
%if %{have_vidix}
%dir %{_libdir}/xine/plugins/%{plugin_abi}/vidix/
@@ -275,112 +219,104 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{plugin_abi}/vidix/savage_vid.so
%{_libdir}/xine/plugins/%{plugin_abi}/vidix/sis_vid.so
%{_libdir}/xine/plugins/%{plugin_abi}/vidix/unichrome_vid.so
-%endif # vidix
+%endif
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_alsa.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_file.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_none.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_oss.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_pulseaudio.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_bitplane.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_a52.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_dav1d.so
+%{!?_without_dca:%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_dts.so}
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_dvaudio.so
+%{!?_without_faad2:%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_faad.so}
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_ff.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_gsm610.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_libaom.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_libjpeg.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_libpng.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_libvpx.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_lpcm.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_mad.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_mpc.so
-%ifarch %{ix86}
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_qt.so
-%endif # ix86
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_mpeg2.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_rawvideo.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_real.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_rgb.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_speex.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spu.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spucc.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spucmml.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spudvb.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spuhdmv.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_sputext.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_theora.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_vorbis.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_to_spdif.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_vdpau.so
%ifarch %{ix86}
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_w32dll.so
-%endif # ix86
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_yuv.so
+%endif
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_asf.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_audio.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_avi.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_fli.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_flv.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_games.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_iff.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_image.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_matroska.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mng.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mpeg.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mpeg_block.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mpeg_elem.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mpeg_pes.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mpeg_ts.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_modplug.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_nsv.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_ogg.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_playlist.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_pva.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_qt.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_rawdv.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_real.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_slave.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_sputext.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_yuv_frames.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_yuv4mpeg2.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_video.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dxr3.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_flac.so
-%if 0%{?bluray}
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_hw_frame_vaapi.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_bluray.so
-%endif
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_cdda.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_crypto.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_dvb.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_dvd.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_file.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_http.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_net.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_pnm.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_rtp.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_rtsp.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_stdin_fifo.so
-%if ! 0%{?_disable_v4l1:1}
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_mms.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_network.so
+%{!?_without_nfs:%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_nfs.so}
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_pvr.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_v4l.so
-%endif
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_rtp.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_ssh.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_v4l2.so
+%{!?_without_vcd:%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_vcd.so}
+%{!?_without_vcd:%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_vcdo.so}
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_nsf.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_sputext.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_tls_gnutls.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_tls_openssl.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_va_display_drm.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_va_display_glx.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_va_display_wl.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_va_display_x11.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vdr.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_fb.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_none.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_gl_glx.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_gl_egl_x11.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_gl_egl_wl.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_opengl.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_opengl2.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_raw.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_syncfb.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_vaapi.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_vdpau.so
%if %{have_vidix}
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_vidix.so
-%endif # vidix
+%endif
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xcbshm.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xcbxv.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xshm.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xv.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xvmc.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xxmc.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_wavpack.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_xiph.so
%files extras
-%defattr(-,root,root,-)
-%if 0%{!?_without_esound:1}
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_esd.so
-%endif # esound
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_jack.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_gdk_pixbuf.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_image.so
+%{!?_without_imagemagick:%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_image.so}
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_smb.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_aa.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_caca.so
-%if 0%{!?_without_directfb:1}
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_directfb.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xdirectfb.so
-%endif # directfb
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_sdl.so
%files devel
-%defattr(-,root,root,-)
%doc __docs/hackersguide/*
%{_bindir}/xine-config
%{_bindir}/xine-list*
@@ -394,6 +330,306 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Mon Jan 23 2023 Neal Gompa <ngompa(a)fedoraproject.org> - 1.2.12-10
+- Adapt for Fedora
+
+* Sun Dec 04 2022 Sérgio Basto <sergio(a)serjux.com> - 1.2.12-9
+- Rebuild for libjxl on el9
+
+* Mon Sep 26 2022 Leigh Scott <leigh123linux(a)gmail.com> - 1.2.12-8
+- Rebuild for new flac
+
+* Sun Sep 04 2022 Leigh Scott <leigh123linux(a)gmail.com> - 1.2.12-7
+- Add requires ffmpeg-libs
+
+* Mon Aug 08 2022 RPM Fusion Release Engineering <sergiomb(a)rpmfusion.org> - 1.2.12-6
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild and ffmpeg
+ 5.1
+
+* Sat Jul 23 2022 Leigh Scott <leigh123linux(a)gmail.com> - 1.2.12-5
+- Rebuild for new ffmpeg
+
+* Thu Jun 23 2022 Robert-André Mauchin <zebob.m(a)gmail.com> - 1.2.12-4
+- Rebuilt for new AOM, dav1d and jpegxl
+
+* Fri Mar 25 2022 Xavier Bachelot <xavier(a)bachelot.org> - 1.2.12-3
+- Add patch for dav1d 1.0.0 support
+
+* Thu Mar 10 2022 Xavier Bachelot <xavier(a)bachelot.org> - 1.2.12-2
+- Fix build on EL7 and EL8
+
+* Thu Mar 10 2022 Xavier Bachelot <xavier(a)bachelot.org> - 1.2.12-1
+- Update to 1.2.12
+
+* Tue Mar 08 2022 Xavier Bachelot <xavier(a)bachelot.org> 1.2.11-14.20220307hg15076
+- Specfile clean up
+- Update xine-lib snapshot
+- Add support for EL9
+
+* Sat Feb 05 2022 Leigh Scott <leigh123linux(a)gmail.com> - 1.2.11-13.20220131hg15030
+- Update to xine-lib snapshot.
+
+* Wed Jan 19 2022 Nicolas Chauvet <kwizart(a)gmail.com> - 1.2.11-12
+- Rebuilt
+
+* Sat Dec 11 2021 Sérgio Basto <sergio(a)serjux.com> - 1.2.11-11
+- Rebuilt for new ImageMagick on F34
+
+* Thu Dec 02 2021 Sérgio Basto <sergio(a)serjux.com> - 1.2.11-10
+- Rebuilt for libjxl-0.6.1
+
+* Mon Nov 22 2021 Sérgio Basto <sergio(a)serjux.com> - 1.2.11-9
+- Rebuilt for new ImageMagick
+
+* Tue Aug 03 2021 RPM Fusion Release Engineering <leigh123linux(a)gmail.com> - 1.2.11-8
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
+
+* Sun Jun 13 2021 Robert-André Mauchin <zebob.m(a)gmail.com> - 1.2.11-7
+- Rebuild for new aom
+
+* Thu Feb 04 2021 RPM Fusion Release Engineering <leigh123linux(a)gmail.com> - 1.2.11-6
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
+
+* Thu Dec 31 2020 Leigh Scott <leigh123linux(a)gmail.com> - 1.2.11-5
+- Rebuilt for new ffmpeg snapshot
+
+* Mon Dec 14 2020 Leigh Scott <leigh123linux(a)gmail.com> - 1.2.11-4
+- Actually do the dav1d rebuild
+
+* Mon Dec 14 2020 Robert-André Mauchin <zebob.m(a)gmail.com> 1.2.11-3
+- Rebuild for dav1d SONAME bump
+
+* Fri Dec 11 2020 Xavier Bachelot <xavier(a)bachelot.org> 1.2.11-2
+- Drop support for EOL distros
+
+* Tue Dec 08 2020 Xavier Bachelot <xavier(a)bachelot.org> 1.2.11-1
+- Update to 1.2.11
+
+* Wed Oct 21 2020 Leigh Scott <leigh123linux(a)gmail.com> - 1.2.10-12
+- Rebuild for new libdvdread
+
+* Sat Oct 17 2020 Xavier Bachelot <xavier(a)bachelot.org> 1.2.10-11
+- Re-enable libssh2 for EL8 and F31+
+- Fix build if libssh2 support is disabled but libssh2-devel is installed (RFBZ#5796)
+
+* Wed Aug 19 2020 RPM Fusion Release Engineering <leigh123linux(a)gmail.com> - 1.2.10-10
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
+
+* Wed Jul 08 2020 Leigh Scott <leigh123linux(a)gmail.com> - 1.2.10-9
+- Rebuilt
+
+* Wed Jul 01 2020 Leigh Scott <leigh123linux(a)gmail.com> - 1.2.10-8
+- Rebuilt
+
+* Sun May 24 2020 Leigh Scott <leigh123linux(a)gmail.com> - 1.2.10-7
+- Rebuild for dav1d SONAME bump
+
+* Wed May 20 2020 Sérgio Basto <sergio(a)serjux.com> - 1.2.10-6
+- Rebuild for ImageMagick on el7
+
+* Fri Apr 10 2020 Leigh Scott <leigh123linux(a)gmail.com> - 1.2.10-5
+- Rebuild for new libcdio version
+
+* Sat Feb 22 2020 RPM Fusion Release Engineering <leigh123linux(a)googlemail.com> - 1.2.10-4
+- Rebuild for ffmpeg-4.3 git
+
+* Wed Feb 05 2020 RPM Fusion Release Engineering <leigh123linux(a)gmail.com> - 1.2.10-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
+
+* Sat Jan 18 2020 Xavier Bachelot <xavier(a)bachelot.org> 1.2.10-2
+- Disable libssh2 for EL8.
+
+* Fri Dec 13 2019 Xavier Bachelot <xavier(a)bachelot.org> 1.2.10-1
+- Update to 1.2.10.
+- Enable aom for EL7.
+- Enable libcaca and ImageMagick for EL8.
+
+* Fri Nov 15 2019 Dominik 'Rathann' Mierzejewski <rpm(a)greysector.net> - 1.2.9-22.20190831hg14506
+- rebuild for libdvdread ABI bump
+
+* Thu Oct 24 2019 Leigh Scott <leigh123linux(a)gmail.com> - 1.2.9-21.20190831hg14506
+- Rebuild for dav1d SONAME bump
+
+* Wed Sep 11 2019 Leigh Scott <leigh123linux(a)googlemail.com> - 1.2.9-20.20190831hg14506
+- Rebuild for new libnfs version
+
+* Tue Sep 03 2019 Xavier Bachelot <xavier(a)bachelot.org> 1.2.9-19.20190831hg14506
+- Fix 32 bits build.
+
+* Tue Sep 03 2019 Xavier Bachelot <xavier(a)bachelot.org> 1.2.9-18.20190831hg14506
+- Update xine-lib snapshot.
+- Enable libpng based video decoder.
+- Add XvMC support back.
+- Enable libdav1d based video decoder (F31+).
+- Rework features enablement.
+- Disable currently missing features on EL8.
+
+* Wed Aug 21 2019 Leigh Scott <leigh123linux(a)gmail.com> - 1.2.9-17.20190525hg14404
+- Rebuild for aom SONAME bump
+- Drop XvMC support (rfbz #5328)
+
+* Tue Aug 06 2019 Leigh Scott <leigh123linux(a)gmail.com> - 1.2.9-16.20190525hg14404
+- Rebuild for new ffmpeg version
+
+* Mon May 27 2019 Xavier Bachelot <xavier(a)bachelot.org> 1.2.9-15.20190525hg14404
+- Update xine-lib snapshot.
+- Remove now unneeded 32 bits build fix.
+- Cosmetic spec cleanup.
+- Remove unneeded SDL build flags setting.
+
+* Fri May 17 2019 Xavier Bachelot <xavier(a)bachelot.org> 1.2.9-14.20190516hg14396
+- Update to xine-lib snapshot.
+- Add script to make a snapshot.
+- Enable EGL support.
+- Enable mpeg2 encoding support for dxr3.
+- Don't glob soname.
+- Clean up and sort BuildRequires.
+- Enable fontconfig support.
+- No NFS support on EL6.
+- Add patch to revert gettext version bump on EL6.
+- No wayland nor openssl support on EL6.
+
+* Tue Mar 05 2019 RPM Fusion Release Engineering <leigh123linux(a)gmail.com> - 1.2.9-13.20181129hg14263
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
+
+* Mon Dec 10 2018 Xavier Bachelot <xavier(a)bachelot.org> 1.2.9-12.20181129hg14263
+- Update to xine-lib snapshot.
+- Enable SSH and NFS input plugins.
+- Enable TLS support.
+- Enable AV1 support through libaom (Fedora only).
+- Add support for RPI.
+
+* Thu Dec 06 2018 Antonio Trande <sagitter(a)fedoraproject.org> - 1.2.9-11
+- Rebuild for ffmpeg-3.* on el7
+
+* Wed Aug 29 2018 Xavier Bachelot <xavier(a)bachelot.org> 1.2.9-10.1
+- Rebuilt for ImageMagick soname bump.
+
+* Sun Aug 19 2018 Leigh Scott <leigh123linux(a)googlemail.com> - 1.2.9-9
+- Rebuilt for Fedora 29 Mass Rebuild binutils issue
+
+* Fri Jul 27 2018 RPM Fusion Release Engineering <leigh123linux(a)gmail.com> - 1.2.9-8
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
+
+* Fri Jul 20 2018 Xavier Bachelot <xavier(a)bachelot.org> 1.2.9-7
+- Add BR: gcc.
+
+* Thu Mar 08 2018 RPM Fusion Release Engineering <leigh123linux(a)googlemail.com> - 1.2.9-6
+- Rebuilt for new ffmpeg snapshot
+
+* Thu Mar 01 2018 RPM Fusion Release Engineering <leigh123linux(a)googlemail.com> - 1.2.9-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
+
+* Sat Jan 27 2018 Leigh Scott <leigh123linux(a)googlemail.com> - 1.2.9-4
+- Rebuild for new libcdio, libvpx and vcdimager
+
+* Thu Jan 18 2018 Leigh Scott <leigh123linux(a)googlemail.com> - 1.2.9-3
+- Rebuilt for ffmpeg-3.5 git
+
+* Mon Jan 15 2018 Nicolas Chauvet <kwizart(a)gmail.com> - 1.2.9-2
+- Rebuilt for VA-API 1.0.0
+
+* Fri Jan 12 2018 Xavier Bachelot <xavier(a)bachelot.org> 1.2.9-1
+- Update to 1.2.9.
+
+* Sun Aug 27 2017 Nicolas Chauvet <kwizart(a)gmail.com> - 1.2.8-4
+- Rebuilt for ImageMagick
+
+* Sat Apr 29 2017 Leigh Scott <leigh123linux(a)googlemail.com> - 1.2.8-3
+- Rebuild for ffmpeg update
+
+* Tue Mar 21 2017 RPM Fusion Release Engineering <kwizart(a)rpmfusion.org> - 1.2.8-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
+
+* Tue Feb 21 2017 Xavier Bachelot <xavier(a)bachelot.org> 1.2.8-1
+- Update to 1.2.8.
+- All patches are now upstream, remove them.
+- Use %%license.
+- Fix building on EL6.
+- Drop now obsolete BR: gawk and sed.
+
+* Fri Nov 18 2016 Adrian Reber <adrian(a)lisas.de> - 1.2.6-14
+- Rebuilt for libcdio-0.94
+
+* Sat Jul 30 2016 Julian Sikorski <belegdol(a)fedoraproject.org> - 1.2.6-13
+- Rebuilt for ffmpeg-3.1.1
+
+* Mon Jul 25 2016 Sérgio Basto <sergio(a)serjux.com> - 1.2.6-12
+- Fix build with libxcb-1.12, https://bugs.xine-project.org/show_bug.cgi?id=573
+
+* Fri Jul 08 2016 Sérgio Basto <sergio(a)serjux.com> - 1.2.6-11
+- Build again with vcd support
+
+* Fri Jul 01 2016 Sérgio Basto <sergio(a)serjux.com> - 1.2.6-10
+- Remove BR: vcdimager-devel and disable vcd; package retired in F24
+
+* Sun May 01 2016 Sérgio Basto <sergio(a)serjux.com> - 1.2.6-9
+- Add patch to build with ffmpeg3
+
+* Tue Nov 04 2014 Nicolas Chauvet <kwizart(a)gmail.com> - 1.2.6-8
+- Rebuilt for vaapi 0.36
+
+* Mon Oct 20 2014 Sérgio Basto <sergio(a)serjux.com> - 1.2.6-7
+- Rebuilt for FFmpeg 2.4.3
+
+* Wed Oct 01 2014 Sérgio Basto <sergio(a)serjux.com> - 1.2.6-6
+- Rebuilt again for FFmpeg 2.3.x (with FFmpeg 2.3.x in build root)
+
+* Wed Oct 01 2014 Sérgio Basto <sergio(a)serjux.com> - 1.2.6-5
+- Rebuilt for FFmpeg 2.3.x (with FFmpeg 2.3.x in build root)
+
+* Sat Sep 27 2014 kwizart <kwizart(a)gmail.com> - 1.2.6-4
+- Rebuilt for FFmpeg 2.3x
+
+* Thu Sep 25 2014 Xavier Bachelot <xavier(a)bachelot.org> 1.2.6-3
+- Rebuild for ffmpeg 2.4.
+
+* Thu Aug 07 2014 Sérgio Basto <sergio(a)serjux.com> - 1.2.6-2
+- Rebuilt for ffmpeg-2.3
+
+* Sun Jul 06 2014 Xavier Bachelot <xavier(a)bachelot.org> 1.2.6-1
+- Update to 1.2.6.
+
+* Tue Apr 08 2014 Xavier Bachelot <xavier(a)bachelot.org> 1.2.5-1
+- Update to 1.2.5.
+- Drop upstream'ed patch.
+- Enable VP8/9 decoder through libvpx.
+
+* Tue Mar 25 2014 Xavier Bachelot <xavier(a)bachelot.org> 1.2.4-5
+- Rebuild for ffmpeg 2.2.
+
+* Wed Feb 26 2014 Nicolas Chauvet <kwizart(a)gmail.com> - 1.2.4-4
+- Rebuilt for libcdio
+
+* Tue Nov 05 2013 Xavier Bachelot <xavier(a)bachelot.org> 1.2.4-3
+- Rebuild for ffmpeg 2.1.
+
+* Sat Oct 12 2013 Xavier Bachelot <xavier(a)bachelot.org> 1.2.4-2
+- Make the build more verbose.
+- Don't run autogen.sh gratuitously and drop BR: autoconf automake libtool.
+ Consequently, add a code snippet to remove rpath.
+- Drop obsolete no autopoint patch and Requires: gettext-devel instead.
+- Drop obsolete Requires: pkgconfig for -devel subpackage.
+- Drop obsolete Group: tags.
+- Bump xine-lib-extras-freeworld Obsoletes:.
+
+* Tue Sep 24 2013 Xavier Bachelot <xavier(a)bachelot.org> 1.2.4-1
+- Update to 1.2.4.
+- Drop upstream'ed patches and hacks.
+- More spec file cleanup.
+
+* Fri Sep 20 2013 Xavier Bachelot <xavier(a)bachelot.org> 1.2.3-2
+- Update to 1.2.3.
+- Merge xine-lib and xine-lib-extras-freeworld.
+- Use pristine source.
+- Clean up old Obsoletes/Provides.
+- Clean up old conditional building.
+- Clean up spec.
+- Enable VDPAU support.
+- Enable VAAPI support.
+- Add a patch to fix a lock up when vaapi plugin init fails.
+- Move test input plugin to -extras.
+
* Fri Sep 20 2013 Xavier Bachelot <xavier(a)bachelot.org> 1.1.21-10
- Rebuild for libbluray-0.4.0.
commit 833c4969df915f96cc396c822d11c65f1b9231b4
Author: Tomas Hrcka <thrcka(a)redhat.com>
Date: Mon Jan 23 15:57:22 2023 +0100
Unretirement request: https://pagure.io/releng/issue/11232
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..6f9a840
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,5 @@
+xine-lib-1.1.19-autotools.patch.bz2
+xine-lib-1.1.19-pruned.tar.bz2
+/xine-lib-1.1.20-pruned.tar.xz
+/xine-lib-1.1.20.1-pruned.tar.xz
+/xine-lib-1.1.21-pruned.tar.xz
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..3f11a94
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,21 @@
+# Makefile for source rpm: xine-lib
+# $Id$
+NAME := xine-lib
+SPECFILE = $(firstword $(wildcard *.spec))
+
+define find-makefile-common
+for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
+endef
+
+MAKEFILE_COMMON := $(shell $(find-makefile-common))
+
+ifeq ($(MAKEFILE_COMMON),)
+# attept a checkout
+define checkout-makefile-common
+test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2
+endef
+
+MAKEFILE_COMMON := $(shell $(checkout-makefile-common))
+endif
+
+include $(MAKEFILE_COMMON)
diff --git a/dead.package b/dead.package
deleted file mode 100644
index 0a5049b..0000000
--- a/dead.package
+++ /dev/null
@@ -1 +0,0 @@
-Moved to RPM Fusion
diff --git a/sources b/sources
new file mode 100644
index 0000000..fd1b3c5
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+1568a378a732bd9b69d418674ad4165c xine-lib-1.1.21-pruned.tar.xz
diff --git a/xine-lib-1.1.16.2-multilib.patch b/xine-lib-1.1.16.2-multilib.patch
new file mode 100644
index 0000000..4609e63
--- /dev/null
+++ b/xine-lib-1.1.16.2-multilib.patch
@@ -0,0 +1,16 @@
+diff -up xine-lib-1.1.16.2/misc/xine-config.in.multilib xine-lib-1.1.16.2/misc/xine-config.in
+--- xine-lib-1.1.16.2/misc/xine-config.in.multilib 2008-06-25 08:04:09.000000000 -0500
++++ xine-lib-1.1.16.2/misc/xine-config.in 2009-02-20 07:34:27.000000000 -0600
+@@ -6,12 +6,6 @@ unset prefix
+ unset exec_prefix
+ unset args
+
+-PKG_CONFIG_PATH="`cat <<'EOF'
+-@XINE_PKGCONFIG_DIR@
+-EOF
+-`${PKG_CONFIG_PATH:+:}$PKG_CONFIG_PATH"
+-export PKG_CONFIG_PATH
+-
+ usage()
+ {
+ cat <<EOF
diff --git a/xine-lib-1.1.17-avsync_hack.patch b/xine-lib-1.1.17-avsync_hack.patch
new file mode 100644
index 0000000..5fa1ae1
--- /dev/null
+++ b/xine-lib-1.1.17-avsync_hack.patch
@@ -0,0 +1,22 @@
+diff -up xine-lib-1.1.17/src/xine-engine/audio_out.c.avsync_hack xine-lib-1.1.17/src/xine-engine/audio_out.c
+--- xine-lib-1.1.17/src/xine-engine/audio_out.c.avsync_hack 2009-11-30 19:33:30.000000000 -0600
++++ xine-lib-1.1.17/src/xine-engine/audio_out.c 2009-12-02 09:07:37.622805780 -0600
+@@ -1156,8 +1156,17 @@ static void *ao_loop (void *this_gen) {
+
+ /*
+ * calculate gap:
++ *
++ * HACK (rwa): If we have no video stream we do not need an AV sync and so
++ * we assume a gap of 0. This seems to avoid the skips in the
++ * first seconds when playing audio-only via the "glitch-free"
++ * pulseaudio server.
+ */
+- gap = in_buf->vpts - hw_vpts;
++ if (in_buf && in_buf->stream && in_buf->stream->video_decoder_plugin) {
++ gap = in_buf->vpts - hw_vpts;
++ } else {
++ gap = 0;
++ }
+ lprintf ("hw_vpts : %" PRId64 " buffer_vpts : %" PRId64 " gap : %" PRId64 "\n",
+ hw_vpts, in_buf->vpts, gap);
+
diff --git a/xine-lib-1.1.19-no_autopoint.patch b/xine-lib-1.1.19-no_autopoint.patch
new file mode 100644
index 0000000..d5ee0cd
--- /dev/null
+++ b/xine-lib-1.1.19-no_autopoint.patch
@@ -0,0 +1,17 @@
+diff -up xine-lib-1.1.17/autogen.sh.no_autopoint xine-lib-1.1.17/autogen.sh
+--- xine-lib-1.1.17/autogen.sh.no_autopoint 2009-10-09 09:33:31.000000000 -0500
++++ xine-lib-1.1.17/autogen.sh 2009-12-02 09:15:48.534555467 -0600
+@@ -229,10 +229,10 @@ run_aclocal () {
+ echo
+ fi
+
+- echo $_echo_n " + Running autopoint: $_echo_c"
++ #echo $_echo_n " + Running autopoint: $_echo_c"
+
+- autopoint
+- echo "done."
++ #autopoint
++ #echo "done."
+
+ echo $_echo_n " + Running aclocal: $_echo_c"
+
diff --git a/xine-lib-1.1.21-samba4.patch b/xine-lib-1.1.21-samba4.patch
new file mode 100644
index 0000000..6c5f67d
--- /dev/null
+++ b/xine-lib-1.1.21-samba4.patch
@@ -0,0 +1,32 @@
+diff -ur xine-lib-1.1.21/configure.ac xine-lib-1.1.21-samba4/configure.ac
+--- xine-lib-1.1.21/configure.ac 2012-07-16 21:42:38.000000000 +0200
++++ xine-lib-1.1.21-samba4/configure.ac 2013-02-12 15:44:33.000000000 +0100
+@@ -1698,12 +1698,10 @@
+ [with_samba=$enableval], [with_samba=yes])
+
+ if test "x$with_samba" = "xyes"; then
+- AC_CHECK_LIB(smbclient, smbc_init,
+- [ AC_CHECK_HEADER(libsmbclient.h,
+- [ have_libsmbclient=yes
+- LIBSMBCLIENT_LIBS="-lsmbclient" ],
+- AC_MSG_RESULT([*** All libsmbclient dependent parts will be disabled ***]))],
+- AC_MSG_RESULT([*** All libsmbclient dependent parts will be disabled ***]))
++ PKG_CHECK_MODULES([LIBSMBCLIENT], [smbclient],
++ [have_libsmbclient=yes],
++ AC_MSG_RESULT(*** All libsmbclient dependent parts will be disabled ***))
++ AC_SUBST(LIBSMBCLIENT_CFLAGS)
+ AC_SUBST(LIBSMBCLIENT_LIBS)
+ fi
+ AM_CONDITIONAL(HAVE_LIBSMBCLIENT, test "x$have_libsmbclient" = "xyes")
+diff -ur xine-lib-1.1.21/src/input/Makefile.am xine-lib-1.1.21-samba4/src/input/Makefile.am
+--- xine-lib-1.1.21/src/input/Makefile.am 2012-07-16 21:42:38.000000000 +0200
++++ xine-lib-1.1.21-samba4/src/input/Makefile.am 2013-02-12 15:46:45.000000000 +0100
+@@ -150,7 +150,7 @@
+
+ xineplug_inp_smb_la_SOURCES = input_smb.c
+ xineplug_inp_smb_la_LIBADD = $(XINE_LIB) $(LIBSMBCLIENT_LIBS) $(LTLIBINTL)
+-xineplug_inp_smb_la_CFLAGS = $(VISIBILITY_FLAG) $(AM_CFLAGS)
++xineplug_inp_smb_la_CFLAGS = $(VISIBILITY_FLAG) $(AM_CFLAGS) $(LIBSMBCLIENT_CFLAGS)
+ xineplug_inp_smb_la_LDFLAGS = $(xineplug_ldflags)
+
+ xineplug_inp_pvr_la_SOURCES = input_pvr.c
diff --git a/xine-lib-1.1.4-optflags.patch b/xine-lib-1.1.4-optflags.patch
new file mode 100644
index 0000000..72540f6
--- /dev/null
+++ b/xine-lib-1.1.4-optflags.patch
@@ -0,0 +1,11 @@
+--- xine-lib-1.1.4/m4/optimizations.m4~ 2006-06-17 18:20:56.000000000 +0300
++++ xine-lib-1.1.4/m4/optimizations.m4 2007-01-30 23:03:27.000000000 +0200
+@@ -107,7 +107,7 @@
+
+ DEBUG_CFLAGS="-O $DEBUG_CFLAGS"
+
+- if test x"$sarchopt" != "xno"; then
++ if false ; then
+ archopt_val=
+
+ case "$host_or_hostalias" in
diff --git a/xine-lib-cleanup-sources.sh b/xine-lib-cleanup-sources.sh
new file mode 100755
index 0000000..a250800
--- /dev/null
+++ b/xine-lib-cleanup-sources.sh
@@ -0,0 +1,90 @@
+#!/bin/bash
+
+if [ -z "$1" -o $# -ne 1 ]; then
+ echo "Usage: $0 <xine-version>"
+ exit 2
+fi
+
+version=$1
+tarball="xine-lib-$version.tar.xz"
+dir="xine-lib-$version"
+modtarball="xine-lib-$version-pruned.tar.xz"
+
+
+if [ ! -f $tarball ]; then
+ echo "Can't find $tarball !"
+ exit 1
+fi
+
+echo "Uncompressing $tarball..."
+rm -rf $dir
+tar -xJf $tarball
+cd $dir
+
+rmpluglib()
+{
+ echo "removing src/$1/$2..."
+ rm -rf src/$1/$2
+ sed -i -e "s/SUBDIRS = \(.*\)$2\(.*\)/SUBDIRS = \1\2/g" src/$1/Makefile.am
+ sed -i -e "/^src\/$1\/$2/d" configure.ac
+}
+
+# Main libraries
+for remove in libfaad libffmpeg libmad libmpeg2 libmpeg2new dxr3 liba52 libdts; do
+ echo "removing src/$remove..."
+ rm -rf src/$remove
+ sed -i -e "/$remove/d" src/Makefile.am
+ sed -i -e "/^src\/$remove/d" configure.ac
+done
+# Input plugin libraries
+for remove in vcd; do
+ rmpluglib input vcd
+done
+for remove in ffmpeg; do
+ rmpluglib combined ffmpeg
+done
+# Input plugins
+# DVD reading (dvd input plugin) has now been in Fedora for a while (libdvdread,
+# libdvdnav), the xine-lib code only wraps those libraries. (Decrypting and
+# decoding are of course still separate and forbidden in Fedora.)
+for p in vcd mms; do
+ echo "removing $p input plugin..."
+ # Remove sources
+ for sourcefile in `awk '/^xineplug_inp_'$p'_la_SOURCES/ { $1=""; $2=""; print $0}' src/input/Makefile.am`; do
+ if [ "`grep -v '^EXTRA_DIST = ' src/input/Makefile.am | grep -c $sourcefile`" -le 1 ]; then # if this file is only used for this plugin
+ rm -f src/input/$sourcefile
+ fi
+ done
+ # Remove from Makefile
+ sed -i -e "/xineplug_inp_$p/d" src/input/Makefile.am
+done
+# Demuxers
+# These are ok now ( http://bugzilla.redhat.com/213597 )
+#for p in mpeg mpeg_block mpeg_ts mpeg_elem mpeg_pes yuv4mpeg2; do
+# echo "removing $p demuxer..."
+# [ -f src/demuxers/demux_$p.c ] && rm -f src/demuxers/demux_$p.c
+# sed -i -e "/xineplug_dmx_$p/d" src/demuxers/Makefile.am
+#done
+# Postprocessors
+echo "removing planar and deinterlace postprocessors..."
+sed -i -e 's/deinterlace //g' src/post/Makefile.am # see comments in speedy.c
+sed -i -e 's/planar //g' src/post/Makefile.am # requires libpostproc
+sed -i -e '/post\/\(deinterlace\|planar\)/d' configure.ac
+rm -rf src/post/{deinterlace,planar}
+# NSF decoder
+echo "removing NSF decoder..."
+rm -rf src/libxineadec/{nosefart,nsf.c}
+sed -i -e '/^xineplug_decode_nsf_la/,/^\s*$/d' \
+ -e /xineplug_decode_nsf/d \
+ -e 's/ nosefart//' \
+ src/libxineadec/Makefile.am
+sed -i -e '/nosefart\/Makefile/d' configure.ac
+# Patches for forbidden libraries
+rm -fv misc/lib*.patch win32/scripts/*.patch
+
+# All clean !
+
+cd ..
+echo "Generating $modtarball..."
+tar -cJf $modtarball $dir
+rm -rf $dir
diff --git a/xine-lib.spec b/xine-lib.spec
new file mode 100644
index 0000000..0b1bf41
--- /dev/null
+++ b/xine-lib.spec
@@ -0,0 +1,741 @@
+# TODO, sometime, maybe:
+# - libstk: http://www.libstk.net/ - probably not, see 1.1.5 ChangeLog
+# - drop the opengl video out plugin?
+
+%define plugin_abi 1.30
+%define codecdir %{_libdir}/codecs
+
+%ifarch %{ix86}
+ %define have_vidix 1
+%else
+ %define have_vidix 0
+%endif # ix86
+
+%ifarch %{arm}
+%define _without_directfb 1
+%endif
+
+%if 0%{?fedora} > 14
+%define _disable_v4l1 1
+%endif
+
+%if 0%{?fedora} > 16
+%define _without_esound 1
+%endif
+
+%if 0%{?fedora} > 16
+%define bluray 1
+%endif
+
+%if 0%{?fedora} > 19
+%define _without_directfb 1
+%endif
+
+Summary: A multimedia engine
+Name: xine-lib
+Version: 1.1.21
+Release: 10%{?dist}
+License: GPLv2+
+Group: System Environment/Libraries
+URL: http://www.xine-project.org/
+# The tarball is generated from the upstream tarball using
+# the script in SOURCE1. It prunes potentially patented code
+#Source0: http://downloads.sourceforge.net/xine/xine-lib-%{version}.tar.xz
+Source0: xine-lib-%{version}-pruned.tar.xz
+Source1: xine-lib-cleanup-sources.sh
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+
+Patch0: xine-lib-1.1.19-no_autopoint.patch
+Patch1: xine-lib-1.1.4-optflags.patch
+# http://bugzilla.redhat.com/470568
+Patch2: xine-lib-1.1.17-avsync_hack.patch
+# http://bugzilla.redhat.com/477226
+Patch3: xine-lib-1.1.16.2-multilib.patch
+# find the Samba 4 libsmbclient.h using pkg-config (#909825)
+Patch4: xine-lib-1.1.21-samba4.patch
+
+Provides: xine-lib(plugin-abi) = %{plugin_abi}
+%{?_isa:Provides: xine-lib(plugin-abi)%{?_isa} = %{plugin_abi}}
+
+# DVD plugin moved from there
+Conflicts: xine-lib-extras-freeworld < 1.1.21-3
+
+BuildRequires: autoconf automake libtool
+# X11
+BuildRequires: libX11-devel
+BuildRequires: libXv-devel
+BuildRequires: libXinerama-devel
+BuildRequires: libXvMC-devel
+BuildRequires: libGLU-devel
+BuildRequires: libv4l-devel
+BuildRequires: libxcb-devel
+# Video
+BuildRequires: SDL-devel
+BuildRequires: libtheora-devel
+BuildRequires: libmng-devel
+BuildRequires: aalib-devel >= 1.4
+BuildRequires: libcaca-devel >= 0.99-0.5.beta14
+%if 0%{!?_without_directfb:1}
+BuildRequires: directfb-devel
+%endif # directfb
+BuildRequires: ImageMagick-devel >= 6.2.4.6-1
+%if 0%{?_with_freetype:1}
+BuildRequires: fontconfig-devel
+%endif # freetype
+# Audio
+BuildRequires: alsa-lib-devel >= 0.9.0
+%if 0%{!?_without_esound:1}
+BuildRequires: esound-devel
+%endif # esound
+BuildRequires: flac-devel
+BuildRequires: jack-audio-connection-kit-devel
+BuildRequires: libmodplug-devel
+BuildRequires: libmpcdec-devel
+BuildRequires: libvorbis-devel
+BuildRequires: speex-devel
+BuildRequires: wavpack-devel
+# CDs
+BuildRequires: libcdio-devel
+# Other
+BuildRequires: pkgconfig
+BuildRequires: pkgconfig(libpulse)
+BuildRequires: gtk2-devel
+BuildRequires: libsmbclient-devel
+BuildRequires: libdvdnav-devel
+BuildRequires: libdvdread-devel
+%if 0%{?bluray}
+BuildRequires: libbluray-devel
+%endif
+
+# Dropped in Fedora 9
+Obsoletes: xine-lib-arts < %{version}-%{release}
+
+# Included in main package since Fedora 12
+Obsoletes: xine-lib-pulseaudio < 1.1.16.3-5
+Provides: xine-lib-pulseaudio = %{version}-%{release}
+
+%description
+This package contains the Xine library. It can be used to play back
+various media, decode multimedia files from local disk drives, and display
+multimedia streamed over the Internet. It interprets many of the most
+common multimedia formats available - and some uncommon formats, too.
+
+%package devel
+Summary: Xine library development files
+Group: Development/Libraries
+Requires: %{name}%{?_isa} = %{version}-%{release}
+Requires: pkgconfig
+Requires: zlib-devel
+%description devel
+This package contains development files for %{name}.
+
+%package extras
+Summary: Additional plugins for %{name}
+Group: System Environment/Libraries
+Requires: %{name}%{?_isa} = %{version}-%{release}
+#Requires: xine-lib(plugin-abi) = %{plugin_abi}
+%description extras
+This package contains extra plugins for %{name}:
+%if 0%{!?_without_esound:1}
+ - EsounD
+%endif # esound
+ - JACK
+ - GDK-Pixbuf
+ - SMB
+ - SDL
+ - AA-lib
+ - Libcaca
+ - Image decoding
+%if 0%{!?_without_directfb:1}
+ - DirectFB output
+%endif # directfb
+
+
+%prep
+%setup -q
+%patch0 -p1 -b .no_autopoint
+# extra work for to omit old libtool-related crud
+rm -f configure ltmain.sh libtool m4/libtool.m4 m4/ltoptions.m4 m4/ltversion.m4
+%patch1 -p1 -b .optflags
+%patch2 -p1 -b .avsync_hack
+%patch3 -p1 -b .multilib
+%patch4 -p1 -b .samba4
+
+./autogen.sh noconfig
+
+
+%build
+export FFMPEG_CFLAGS=" " FFMPEG_LIBS=" "
+export FFMPEG_POSTPROC_CFLAGS=" " FFMPEG_POSTPROC_LIBS=" "
+export FFMPEG_UTIL_CFLAGS=" " FFMPEG_UTIL_LIBS=" "
+export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)"
+# Keep list of options in mostly the same order as ./configure --help.
+%configure \
+ --disable-dependency-tracking \
+ --enable-ipv6 \
+%if 0%{!?_without_directfb:1}
+ --enable-directfb \
+%endif # directfb
+ --enable-v4l \
+ --enable-libv4l \
+ --enable-xvmc \
+ --disable-gnomevfs \
+ --disable-a52dec \
+ --disable-mad \
+ --disable-vcd \
+ --disable-asf \
+ --disable-faad \
+%if 0%{?_with_freetype:1}
+%if 0%{?_with_antialiasing:1}
+ --enable-antialiasing \
+%endif # antialiasing
+ --with-freetype \
+ --with-fontconfig \
+%endif # freetype
+ --with-caca \
+ --with-external-ffmpeg \
+ --with-external-dvdnav \
+ --with-xv-path=%{_libdir} \
+ --with-libflac \
+ --with-external-libmpcdec \
+ --without-arts \
+%if 0%{?_without_esound:1}
+ --without-esound \
+%endif
+ --with-wavpack \
+ --with-real-codecs-path=%{codecdir} \
+ --with-w32-path=%{codecdir}
+
+make %{?_smp_mflags}
+
+
+%install
+rm -rf $RPM_BUILD_ROOT __docs
+make install DESTDIR=$RPM_BUILD_ROOT
+%find_lang libxine1
+cp -pR $RPM_BUILD_ROOT%{_docdir}/xine-lib __docs
+rm -rf $RPM_BUILD_ROOT%{_docdir}/xine-lib
+
+# Removing useless files
+rm -Rf $RPM_BUILD_ROOT%{_libdir}/libxine.la __docs/README \
+ __docs/README.{freebsd,irix,solaris,MINGWCROSS,WIN32} \
+ __docs/README.{dxr3,network_dvd}
+
+# Directory for binary codecs
+mkdir -p $RPM_BUILD_ROOT%{codecdir}
+
+# unpackaged files
+%if 0%{?_disable_v4l1:1}
+rm -fv $RPM_BUILD_ROOT%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_pvr.so
+rm -fv $RPM_BUILD_ROOT%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_v4l.so
+%endif
+
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+
+%post -p /sbin/ldconfig
+
+%postun -p /sbin/ldconfig
+
+
+%files -f libxine1.lang
+%defattr(-,root,root,-)
+%doc AUTHORS COPYING COPYING.LIB CREDITS ChangeLog* README TODO
+%doc __docs/README.* __docs/faq.*
+%dir %{codecdir}/
+%{_datadir}/xine/
+%{_libdir}/libxine.so.*
+%{_mandir}/man5/xine.5*
+%dir %{_libdir}/xine/
+%dir %{_libdir}/xine/plugins/
+%dir %{_libdir}/xine/plugins/%{plugin_abi}/
+%{_libdir}/xine/plugins/%{plugin_abi}/mime.types
+# Listing every plugin separately for better control over binary packages
+# containing exactly the plugins we want, nothing accidentally snuck in
+# nor dropped.
+%dir %{_libdir}/xine/plugins/%{plugin_abi}/post/
+%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_audio_filters.so
+%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_goom.so
+%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_mosaico.so
+%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_switch.so
+%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_visualizations.so
+%if %{have_vidix}
+%dir %{_libdir}/xine/plugins/%{plugin_abi}/vidix/
+%{_libdir}/xine/plugins/%{plugin_abi}/vidix/cyberblade_vid.so
+%{_libdir}/xine/plugins/%{plugin_abi}/vidix/mach64_vid.so
+%{_libdir}/xine/plugins/%{plugin_abi}/vidix/mga_crtc2_vid.so
+%{_libdir}/xine/plugins/%{plugin_abi}/vidix/mga_vid.so
+%{_libdir}/xine/plugins/%{plugin_abi}/vidix/nvidia_vid.so
+%{_libdir}/xine/plugins/%{plugin_abi}/vidix/pm2_vid.so
+%{_libdir}/xine/plugins/%{plugin_abi}/vidix/pm3_vid.so
+%{_libdir}/xine/plugins/%{plugin_abi}/vidix/radeon_vid.so
+%{_libdir}/xine/plugins/%{plugin_abi}/vidix/rage128_vid.so
+%{_libdir}/xine/plugins/%{plugin_abi}/vidix/savage_vid.so
+%{_libdir}/xine/plugins/%{plugin_abi}/vidix/sis_vid.so
+%{_libdir}/xine/plugins/%{plugin_abi}/vidix/unichrome_vid.so
+%endif # vidix
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_alsa.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_file.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_none.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_oss.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_pulseaudio.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_bitplane.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_gsm610.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_lpcm.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_mpc.so
+%ifarch %{ix86}
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_qt.so
+%endif # ix86
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_real.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_rgb.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_speex.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spu.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spucc.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spucmml.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spudvb.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spuhdmv.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_sputext.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_theora.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_vorbis.so
+%ifarch %{ix86}
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_w32dll.so
+%endif # ix86
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_yuv.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_audio.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_avi.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_fli.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_flv.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_games.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_iff.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_image.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_matroska.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mng.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mpeg.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mpeg_block.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mpeg_elem.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mpeg_pes.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mpeg_ts.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_nsv.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_ogg.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_pva.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_qt.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_rawdv.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_real.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_slave.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_sputext.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_yuv_frames.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_yuv4mpeg2.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_flac.so
+%if 0%{?bluray}
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_bluray.so
+%endif
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_cdda.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_dvb.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_dvd.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_file.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_http.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_net.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_pnm.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_rtp.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_rtsp.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_stdin_fifo.so
+%if ! 0%{?_disable_v4l1:1}
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_pvr.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_v4l.so
+%endif
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_v4l2.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_fb.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_none.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_opengl.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_raw.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_syncfb.so
+%if %{have_vidix}
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_vidix.so
+%endif # vidix
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xcbshm.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xcbxv.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xshm.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xv.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xvmc.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xxmc.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_wavpack.so
+
+%files extras
+%defattr(-,root,root,-)
+%if 0%{!?_without_esound:1}
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_esd.so
+%endif # esound
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_jack.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_gdk_pixbuf.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_image.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_smb.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_aa.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_caca.so
+%if 0%{!?_without_directfb:1}
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_directfb.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xdirectfb.so
+%endif # directfb
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_sdl.so
+
+%files devel
+%defattr(-,root,root,-)
+%doc __docs/hackersguide/*
+%{_bindir}/xine-config
+%{_bindir}/xine-list*
+%{_datadir}/aclocal/xine.m4
+%{_includedir}/xine.h
+%{_includedir}/xine/
+%{_libdir}/libxine.so
+%{_libdir}/pkgconfig/libxine.pc
+%{_mandir}/man1/xine-config.1*
+%{_mandir}/man1/xine-list*.1*
+
+
+%changelog
+* Fri Sep 20 2013 Xavier Bachelot <xavier(a)bachelot.org> 1.1.21-10
+- Rebuild for libbluray-0.4.0.
+
+* Sat Aug 31 2013 Till Maas <opensource(a)till.name> - 1.1.21-9
+- Disable directfb support for Fedora 20 and newer, because it was retired
+
+* Tue Aug 27 2013 Jon Ciesla <limburgher(a)gmail.com> - 1.1.21-8
+- libmng rebuild.
+
+* Sun Aug 04 2013 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1.1.21-7
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
+
+* Sat Mar 30 2013 Kevin Fenzi <kevin(a)scrye.com> - 1.1.21-6
+- Rebuild for broken deps in rawhide
+
+* Tue Feb 12 2013 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.21-5
+- find the Samba 4 libsmbclient.h using pkg-config, fixes FTBFS (#909825)
+
+* Mon Sep 17 2012 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.21-4
+- rebuild for new directfb
+
+* Sun Jul 22 2012 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1.1.21-3.1
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
+
+* Sat Jul 21 2012 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.21-2.1
+- disable libbluray support on F16, libbluray too old
+
+* Mon Jul 16 2012 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.21-2
+- do not remove DVD plugin, not encumbered (only uses libdvdread/libdvdnav)
+
+* Tue Jun 12 2012 Xavier Bachelot <xavier(a)bachelot.org> 1.1.21-1
+- Update to 1.1.21.
+- Enable libbluray support.
+
+* Sat Mar 10 2012 Rex Dieter <rdieter(a)fedoraproject.org> 1.1.20.1-3
+- rebuild (ImageMagick)
+
+* Sat Jan 14 2012 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1.1.20.1-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
+
+* Tue Jan 03 2012 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.20.1-1
+- update to 1.1.20.1 (bugfix release)
+- drop upstreamed link-libdvdread patch
+
+* Sun Nov 20 2011 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.20-1
+- update to 1.1.20 (#753758)
+- use .xz tarball
+- drop old conditionals
+- drop ESD (esound) support on F17+ (native PulseAudio just works)
+- drop autotools patch, run autogen.sh in %%prep instead
+- drop unused deepbind patch
+- drop xvmclib_header patch, fixed upstream
+- use the system libdvdnav (and libdvdread) instead of the bundled one
+- fix system libdvdnav support to also link libdvdread
+- plugin ABI is now 1.30
+
+* Fri Jul 15 2011 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.19-7
+- rebuild for new DirectFB (1.5.0)
+
+* Mon Feb 14 2011 Rex Dieter <rdieter(a)fedoraproject.org> 1.1.19-6
+- split v4l, libv4l handling
+- omit v4l(1) bits (f15+)
+
+* Mon Feb 07 2011 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1.1.19-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
+
+* Mon Jan 24 2011 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.19-4
+- xvmclib header changes, fixes ftbfs (#635653,#661071)
+
+* Sun Nov 28 2010 Kevin Kofler <Kevin(a)tigcc.ticalc.org> - 1.1.19-3
+- rebuild for new directfb (1.4.11)
+
+* Wed Sep 15 2010 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.19-2
+- rebuild (ImageMagick)
+
+* Sun Jul 25 2010 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.19-1
+- 1.1.19
+
+* Mon Jul 19 2010 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.18.1-3
+- no directfb on arm (yet)
+
+* Tue Jun 1 2010 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.18.1-2
+- Rebuild.
+
+* Sun Mar 07 2010 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.18.1-1
+- xine-lib-1.1.18.1
+
+* Sun Mar 07 2010 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.18-2
+- rebuild (ImageMagick)
+
+* Wed Feb 24 2010 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.18-1
+- xine-lib-1.1.18, plugin-abi 1.28 (#567913)
+
+* Sat Dec 12 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.17-3
+- bump flac_decoder priority (rh#301861,xine#225)
+
+* Mon Dec 07 2009 Bastien Nocera <bnocera(a)redhat.com> 1.1.17-2
+- Remove gnome-vfs2 plugin, it's mostly useless
+
+* Wed Dec 02 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.17-1
+- xine-lib-1.1.17, plugin-abi 1.27
+
+* Sun Nov 29 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.3-5
+- move -pulseaudio into main pkg (f12+)
+- update URL
+
+* Mon Jul 27 2009 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1.1.16.3-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
+
+* Thu Jul 02 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.3-3
+- rebuild (DirectFB)
+
+* Fri Apr 17 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.3-2.1
+- drop old_caca hacks/patches (F-9)
+
+* Fri Apr 10 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.3-2
+- fix modtracker mimetypes
+
+* Fri Apr 03 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.3-1
+- xine-lib-1.1.16.3, plugin-abi 1.26
+
+* Thu Mar 26 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.2-6
+- add-mime-for-mod.patch
+
+* Tue Mar 10 2009 Kevin Kofler <Kevin(a)tigcc.ticalc.org> - 1.1.16.2-5
+- rebuild for new ImageMagick
+
+* Thu Feb 26 2009 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1.1.16.2-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
+
+* Fri Feb 20 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.2-3
+- xine-lib-devel muiltilib conflict (#477226)
+
+* Tue Feb 17 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.2-2
+- xine-lib-safe-audio-pause3 patch (#486255, kdebug#180339)
+
+* Tue Feb 10 2009 Kevin Kofler <Kevin(a)tigcc.ticalc.org> - 1.1.16.2-1.1
+- also patch the caca version check in configure(.ac)
+
+* Tue Feb 10 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.2-1
+- xine-lib-1.1.16.2
+
+* Mon Feb 09 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.1-4
+- gapless-race-fix patch (kdebug#180339)
+
+* Sat Feb 07 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.1-3
+- safe-audio-pause patch (kdebug#180339)
+
+* Mon Jan 26 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.1-2
+- Provides: xine-lib(plugin-abi)%%{?_isa} = %%{plugin_abi}
+- touchup Summary/Description
+
+* Fri Jan 23 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.1-1
+- xine-lib-1.1.16.1
+- include avsync patch (#470568)
+
+* Sun Jan 18 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16-2
+- drop deepbind patch (#480504)
+- caca support (EPEL)
+
+* Wed Jan 07 2009 Kevin Kofler <Kevin(a)tigcc.ticalc.org> - 1.1.16-1.1
+- patch for old libcaca in F9-
+
+* Wed Jan 07 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16-1
+- xine-lib-1.1.16, plugin ABI 1.25
+- --with-external-libdvdnav, include mpeg demuxers (#213597)
+
+* Fri Dec 12 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.15-4
+- rebuild for pkgconfig deps
+
+* Tue Oct 28 2008 Kevin Kofler <Kevin(a)tigcc.ticalc.org> - 1.1.15-3
+- rebuild for new libcaca
+
+* Thu Oct 23 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.15-2
+- respin
+
+* Wed Aug 20 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.15-1
+- xine-lib-1.1.15, plugin ABI 1.24 (rh#455752, CVE-2008-3231)
+- Obsoletes: -arts (f9+)
+
+* Sun Apr 27 2008 Kevin Kofler <Kevin(a)tigcc.ticalc.org> - 1.1.12-3
+- rebuild for new ImageMagick (6.4.0.10)
+
+* Thu Apr 24 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.12-2
+- CVE-2008-1878
+
+* Wed Apr 16 2008 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.12-1
+- 1.1.12 (plugin ABI 1.21); qt, mkv, and pulseaudio patches applied upstream.
+
+* Wed Apr 9 2008 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.11.1-3
+- Apply upstream fixes for Quicktime (#441705) and Matroska regressions
+ introduced in 1.1.11.1.
+
+* Mon Apr 07 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.11.1-2
+- pulse-rework2 patch (#439731)
+- -pulseaudio subpkg (#439731)
+
+* Sun Mar 30 2008 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.11.1-1
+- 1.1.11.1 (security update, #438663, CVE-2008-1482).
+- Provide versioned xine-lib(plugin-abi) so 3rd party packages installing
+ plugins can use it instead of requiring a version of xine-lib.
+
+* Wed Mar 19 2008 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.11-1
+- 1.1.11 (security update, #438182, CVE-2008-0073).
+- Drop jack and wavpack build conditionals.
+- Specfile cleanups.
+
+* Fri Mar 7 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.10.1-1.1
+- xcb support for f7+ (#373411)
+
+* Fri Feb 8 2008 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.10.1-1
+- 1.1.10.1 (security update, #431541).
+
+* Sun Jan 27 2008 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.10-2
+- Include spu, spucc, and spucmml decoders (#213597).
+
+* Sun Jan 27 2008 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.10-1
+- 1.1.10 (security update).
+
+* Mon Jan 21 2008 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.9.1-3
+- Fix version number in libxine.pc (#429487).
+
+* Sun Jan 20 2008 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.9.1-2
+- Disable upstream "discard buffers on ao close" 1.1.9 changeset (#429182).
+
+* Sat Jan 12 2008 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.9.1-1
+- 1.1.9.1 (security update).
+
+* Sun Jan 6 2008 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.9-1
+- 1.1.9.
+
+* Thu Sep 27 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.8-6
+- Enable wavpack support by default for all distros.
+
+* Sun Sep 23 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.8-5
+- Enable JACK support by default for all distros.
+
+* Wed Sep 19 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.8-4
+- Fix "--without wavpack" build.
+
+* Sat Sep 15 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.8-3
+- Move XCB plugins to the main package.
+- Make aalib, caca, pulseaudio, jack, and wavpack support optional at build
+ time in preparation for the first EPEL build.
+
+* Sun Sep 09 2007 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.8-2
+- remove the dependency from -extras to -arts, and use Obsoletes to
+ provide an upgrade path
+
+* Thu Aug 30 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.8-1
+- 1.1.8, "open" patch applied upstream.
+- Build XCB plugins by default for Fedora 8+ only.
+
+* Sat Aug 25 2007 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.7-3
+- Split the aRts plugin into its own subpackage
+
+* Tue Aug 14 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.7-2
+- Include XCB output plugins (in -extras at least for now).
+- Protect "open" with glibc 2.6.90 and -D_FORTIFY_SOURCE=2.
+- Clean up %%configure options.
+- License: GPLv2+
+
+* Thu Jun 7 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.7-1
+- 1.1.7.
+
+* Wed Jun 06 2007 Rex Dieter <rdieter[AT]fedoraproject.org> - 1.1.6-3
+- respin (for libmpcdec)
+
+* Wed Apr 25 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.6-2
+- Make Real codec search path /usr/lib(64)/codecs again (#237743).
+
+* Wed Apr 18 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.6-1
+- 1.1.6.
+
+* Wed Apr 11 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.5-1
+- 1.1.5.
+- Include GSM 06.10 decoder (#228186).
+- Re-enable CACA support.
+
+* Sun Apr 8 2007 Ville Skyttä <ville.skytta(a)iki.fi>
+- Exclude vidix dir on systems that don't have vidix.
+- Specfile cleanups.
+
+* Mon Mar 26 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.4-4
+- Add PulseAudio support (in -extras, #234035/Jost Diederichs).
+- Adjust Samba build dependencies to work for both <= and > FC6.
+- Add --with freetype and --with antialiasing build time options,
+ default disabled, and an upstream patch for FreeType memory leak (#233194).
+
+* Sat Mar 10 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.4-3
+- Apply upstream fix for CVE-2007-1246.
+
+* Wed Feb 14 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.4-2
+- Rebuild.
+
+* Wed Jan 31 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.4-1
+- 1.1.4, with wavpack and system libmpcdec support.
+
+* Thu Jan 18 2007 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.3-4
+- rebuild
+
+* Wed Jan 3 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.3-3
+- Fix libflac decoder with FLAC < 1.1.3 (#220961).
+- Apply upstream patch for FLAC >= 1.1.3.
+
+* Sun Dec 17 2006 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.3-2
+- Don't run autotools during build.
+
+* Mon Dec 04 2006 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.3-1
+- version 1.1.3
+- patch2 applied upstream
+- Disable CACA support by default, needs newer than what's in FE ATM.
+- Split extras plugins in a separate package
+- Enable JACK support (in extras subpackage)
+- Enable DirectFB support (in extras subpackage)
+
+* Sat Nov 11 2006 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.2-18
+- Make shn files available to amarok. References:
+ http://xine.cvs.sourceforge.net/xine/xine-lib/src/demuxers/demux_shn.c?r1...
+ https://launchpad.net/distros/ubuntu/+source/xine-lib/+bug/63130
+
+* Wed Oct 18 2006 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.2-17
+- cleanup docs
+- remove mms
+- delete more source files in the cleanup script
+- drop patch3 (affecting mms)
+
+* Tue Oct 17 2006 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.2-16
+- fix files list
+- add BR gtk2-devel
+- remove xineplug_decode_gdk_pixbuf.so from x86-only
+
+* Mon Oct 16 2006 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.2-15
+- removed libdts
+- drop dxr patch (it's removed from tarball)
+- list xineplug_decode_gdk_pixbuf.so and xineplug_vo_out_vidix.so only on x86
+
+* Sun Oct 15 2006 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.2-14
+- update SOURCE1 to remove liba52 from tarball (patented)
+
+* Tue Sep 12 2006 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.2-13
+- drop patches 2 and 4
+
+* Fri Sep 08 2006 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.2-12
+- initial Fedora Extras package
commit e51141ce46cb55ca9861daf8450f11599d04780f
Author: Xavier Bachelot <xavier(a)bachelot.org>
Date: Thu Oct 24 00:58:59 2013 +0200
Moved to RPM Fusion
diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index 6f9a840..0000000
--- a/.gitignore
+++ /dev/null
@@ -1,5 +0,0 @@
-xine-lib-1.1.19-autotools.patch.bz2
-xine-lib-1.1.19-pruned.tar.bz2
-/xine-lib-1.1.20-pruned.tar.xz
-/xine-lib-1.1.20.1-pruned.tar.xz
-/xine-lib-1.1.21-pruned.tar.xz
diff --git a/Makefile b/Makefile
deleted file mode 100644
index 3f11a94..0000000
--- a/Makefile
+++ /dev/null
@@ -1,21 +0,0 @@
-# Makefile for source rpm: xine-lib
-# $Id$
-NAME := xine-lib
-SPECFILE = $(firstword $(wildcard *.spec))
-
-define find-makefile-common
-for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
-endef
-
-MAKEFILE_COMMON := $(shell $(find-makefile-common))
-
-ifeq ($(MAKEFILE_COMMON),)
-# attept a checkout
-define checkout-makefile-common
-test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2
-endef
-
-MAKEFILE_COMMON := $(shell $(checkout-makefile-common))
-endif
-
-include $(MAKEFILE_COMMON)
diff --git a/dead.package b/dead.package
new file mode 100644
index 0000000..0a5049b
--- /dev/null
+++ b/dead.package
@@ -0,0 +1 @@
+Moved to RPM Fusion
diff --git a/sources b/sources
deleted file mode 100644
index fd1b3c5..0000000
--- a/sources
+++ /dev/null
@@ -1 +0,0 @@
-1568a378a732bd9b69d418674ad4165c xine-lib-1.1.21-pruned.tar.xz
diff --git a/xine-lib-1.1.16.2-multilib.patch b/xine-lib-1.1.16.2-multilib.patch
deleted file mode 100644
index 4609e63..0000000
--- a/xine-lib-1.1.16.2-multilib.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff -up xine-lib-1.1.16.2/misc/xine-config.in.multilib xine-lib-1.1.16.2/misc/xine-config.in
---- xine-lib-1.1.16.2/misc/xine-config.in.multilib 2008-06-25 08:04:09.000000000 -0500
-+++ xine-lib-1.1.16.2/misc/xine-config.in 2009-02-20 07:34:27.000000000 -0600
-@@ -6,12 +6,6 @@ unset prefix
- unset exec_prefix
- unset args
-
--PKG_CONFIG_PATH="`cat <<'EOF'
--@XINE_PKGCONFIG_DIR@
--EOF
--`${PKG_CONFIG_PATH:+:}$PKG_CONFIG_PATH"
--export PKG_CONFIG_PATH
--
- usage()
- {
- cat <<EOF
diff --git a/xine-lib-1.1.17-avsync_hack.patch b/xine-lib-1.1.17-avsync_hack.patch
deleted file mode 100644
index 5fa1ae1..0000000
--- a/xine-lib-1.1.17-avsync_hack.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff -up xine-lib-1.1.17/src/xine-engine/audio_out.c.avsync_hack xine-lib-1.1.17/src/xine-engine/audio_out.c
---- xine-lib-1.1.17/src/xine-engine/audio_out.c.avsync_hack 2009-11-30 19:33:30.000000000 -0600
-+++ xine-lib-1.1.17/src/xine-engine/audio_out.c 2009-12-02 09:07:37.622805780 -0600
-@@ -1156,8 +1156,17 @@ static void *ao_loop (void *this_gen) {
-
- /*
- * calculate gap:
-+ *
-+ * HACK (rwa): If we have no video stream we do not need an AV sync and so
-+ * we assume a gap of 0. This seems to avoid the skips in the
-+ * first seconds when playing audio-only via the "glitch-free"
-+ * pulseaudio server.
- */
-- gap = in_buf->vpts - hw_vpts;
-+ if (in_buf && in_buf->stream && in_buf->stream->video_decoder_plugin) {
-+ gap = in_buf->vpts - hw_vpts;
-+ } else {
-+ gap = 0;
-+ }
- lprintf ("hw_vpts : %" PRId64 " buffer_vpts : %" PRId64 " gap : %" PRId64 "\n",
- hw_vpts, in_buf->vpts, gap);
-
diff --git a/xine-lib-1.1.19-no_autopoint.patch b/xine-lib-1.1.19-no_autopoint.patch
deleted file mode 100644
index d5ee0cd..0000000
--- a/xine-lib-1.1.19-no_autopoint.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff -up xine-lib-1.1.17/autogen.sh.no_autopoint xine-lib-1.1.17/autogen.sh
---- xine-lib-1.1.17/autogen.sh.no_autopoint 2009-10-09 09:33:31.000000000 -0500
-+++ xine-lib-1.1.17/autogen.sh 2009-12-02 09:15:48.534555467 -0600
-@@ -229,10 +229,10 @@ run_aclocal () {
- echo
- fi
-
-- echo $_echo_n " + Running autopoint: $_echo_c"
-+ #echo $_echo_n " + Running autopoint: $_echo_c"
-
-- autopoint
-- echo "done."
-+ #autopoint
-+ #echo "done."
-
- echo $_echo_n " + Running aclocal: $_echo_c"
-
diff --git a/xine-lib-1.1.21-samba4.patch b/xine-lib-1.1.21-samba4.patch
deleted file mode 100644
index 6c5f67d..0000000
--- a/xine-lib-1.1.21-samba4.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-diff -ur xine-lib-1.1.21/configure.ac xine-lib-1.1.21-samba4/configure.ac
---- xine-lib-1.1.21/configure.ac 2012-07-16 21:42:38.000000000 +0200
-+++ xine-lib-1.1.21-samba4/configure.ac 2013-02-12 15:44:33.000000000 +0100
-@@ -1698,12 +1698,10 @@
- [with_samba=$enableval], [with_samba=yes])
-
- if test "x$with_samba" = "xyes"; then
-- AC_CHECK_LIB(smbclient, smbc_init,
-- [ AC_CHECK_HEADER(libsmbclient.h,
-- [ have_libsmbclient=yes
-- LIBSMBCLIENT_LIBS="-lsmbclient" ],
-- AC_MSG_RESULT([*** All libsmbclient dependent parts will be disabled ***]))],
-- AC_MSG_RESULT([*** All libsmbclient dependent parts will be disabled ***]))
-+ PKG_CHECK_MODULES([LIBSMBCLIENT], [smbclient],
-+ [have_libsmbclient=yes],
-+ AC_MSG_RESULT(*** All libsmbclient dependent parts will be disabled ***))
-+ AC_SUBST(LIBSMBCLIENT_CFLAGS)
- AC_SUBST(LIBSMBCLIENT_LIBS)
- fi
- AM_CONDITIONAL(HAVE_LIBSMBCLIENT, test "x$have_libsmbclient" = "xyes")
-diff -ur xine-lib-1.1.21/src/input/Makefile.am xine-lib-1.1.21-samba4/src/input/Makefile.am
---- xine-lib-1.1.21/src/input/Makefile.am 2012-07-16 21:42:38.000000000 +0200
-+++ xine-lib-1.1.21-samba4/src/input/Makefile.am 2013-02-12 15:46:45.000000000 +0100
-@@ -150,7 +150,7 @@
-
- xineplug_inp_smb_la_SOURCES = input_smb.c
- xineplug_inp_smb_la_LIBADD = $(XINE_LIB) $(LIBSMBCLIENT_LIBS) $(LTLIBINTL)
--xineplug_inp_smb_la_CFLAGS = $(VISIBILITY_FLAG) $(AM_CFLAGS)
-+xineplug_inp_smb_la_CFLAGS = $(VISIBILITY_FLAG) $(AM_CFLAGS) $(LIBSMBCLIENT_CFLAGS)
- xineplug_inp_smb_la_LDFLAGS = $(xineplug_ldflags)
-
- xineplug_inp_pvr_la_SOURCES = input_pvr.c
diff --git a/xine-lib-1.1.4-optflags.patch b/xine-lib-1.1.4-optflags.patch
deleted file mode 100644
index 72540f6..0000000
--- a/xine-lib-1.1.4-optflags.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- xine-lib-1.1.4/m4/optimizations.m4~ 2006-06-17 18:20:56.000000000 +0300
-+++ xine-lib-1.1.4/m4/optimizations.m4 2007-01-30 23:03:27.000000000 +0200
-@@ -107,7 +107,7 @@
-
- DEBUG_CFLAGS="-O $DEBUG_CFLAGS"
-
-- if test x"$sarchopt" != "xno"; then
-+ if false ; then
- archopt_val=
-
- case "$host_or_hostalias" in
diff --git a/xine-lib-cleanup-sources.sh b/xine-lib-cleanup-sources.sh
deleted file mode 100755
index a250800..0000000
--- a/xine-lib-cleanup-sources.sh
+++ /dev/null
@@ -1,90 +0,0 @@
-#!/bin/bash
-
-if [ -z "$1" -o $# -ne 1 ]; then
- echo "Usage: $0 <xine-version>"
- exit 2
-fi
-
-version=$1
-tarball="xine-lib-$version.tar.xz"
-dir="xine-lib-$version"
-modtarball="xine-lib-$version-pruned.tar.xz"
-
-
-if [ ! -f $tarball ]; then
- echo "Can't find $tarball !"
- exit 1
-fi
-
-echo "Uncompressing $tarball..."
-rm -rf $dir
-tar -xJf $tarball
-cd $dir
-
-rmpluglib()
-{
- echo "removing src/$1/$2..."
- rm -rf src/$1/$2
- sed -i -e "s/SUBDIRS = \(.*\)$2\(.*\)/SUBDIRS = \1\2/g" src/$1/Makefile.am
- sed -i -e "/^src\/$1\/$2/d" configure.ac
-}
-
-# Main libraries
-for remove in libfaad libffmpeg libmad libmpeg2 libmpeg2new dxr3 liba52 libdts; do
- echo "removing src/$remove..."
- rm -rf src/$remove
- sed -i -e "/$remove/d" src/Makefile.am
- sed -i -e "/^src\/$remove/d" configure.ac
-done
-# Input plugin libraries
-for remove in vcd; do
- rmpluglib input vcd
-done
-for remove in ffmpeg; do
- rmpluglib combined ffmpeg
-done
-# Input plugins
-# DVD reading (dvd input plugin) has now been in Fedora for a while (libdvdread,
-# libdvdnav), the xine-lib code only wraps those libraries. (Decrypting and
-# decoding are of course still separate and forbidden in Fedora.)
-for p in vcd mms; do
- echo "removing $p input plugin..."
- # Remove sources
- for sourcefile in `awk '/^xineplug_inp_'$p'_la_SOURCES/ { $1=""; $2=""; print $0}' src/input/Makefile.am`; do
- if [ "`grep -v '^EXTRA_DIST = ' src/input/Makefile.am | grep -c $sourcefile`" -le 1 ]; then # if this file is only used for this plugin
- rm -f src/input/$sourcefile
- fi
- done
- # Remove from Makefile
- sed -i -e "/xineplug_inp_$p/d" src/input/Makefile.am
-done
-# Demuxers
-# These are ok now ( http://bugzilla.redhat.com/213597 )
-#for p in mpeg mpeg_block mpeg_ts mpeg_elem mpeg_pes yuv4mpeg2; do
-# echo "removing $p demuxer..."
-# [ -f src/demuxers/demux_$p.c ] && rm -f src/demuxers/demux_$p.c
-# sed -i -e "/xineplug_dmx_$p/d" src/demuxers/Makefile.am
-#done
-# Postprocessors
-echo "removing planar and deinterlace postprocessors..."
-sed -i -e 's/deinterlace //g' src/post/Makefile.am # see comments in speedy.c
-sed -i -e 's/planar //g' src/post/Makefile.am # requires libpostproc
-sed -i -e '/post\/\(deinterlace\|planar\)/d' configure.ac
-rm -rf src/post/{deinterlace,planar}
-# NSF decoder
-echo "removing NSF decoder..."
-rm -rf src/libxineadec/{nosefart,nsf.c}
-sed -i -e '/^xineplug_decode_nsf_la/,/^\s*$/d' \
- -e /xineplug_decode_nsf/d \
- -e 's/ nosefart//' \
- src/libxineadec/Makefile.am
-sed -i -e '/nosefart\/Makefile/d' configure.ac
-# Patches for forbidden libraries
-rm -fv misc/lib*.patch win32/scripts/*.patch
-
-# All clean !
-
-cd ..
-echo "Generating $modtarball..."
-tar -cJf $modtarball $dir
-rm -rf $dir
diff --git a/xine-lib.spec b/xine-lib.spec
deleted file mode 100644
index 0b1bf41..0000000
--- a/xine-lib.spec
+++ /dev/null
@@ -1,741 +0,0 @@
-# TODO, sometime, maybe:
-# - libstk: http://www.libstk.net/ - probably not, see 1.1.5 ChangeLog
-# - drop the opengl video out plugin?
-
-%define plugin_abi 1.30
-%define codecdir %{_libdir}/codecs
-
-%ifarch %{ix86}
- %define have_vidix 1
-%else
- %define have_vidix 0
-%endif # ix86
-
-%ifarch %{arm}
-%define _without_directfb 1
-%endif
-
-%if 0%{?fedora} > 14
-%define _disable_v4l1 1
-%endif
-
-%if 0%{?fedora} > 16
-%define _without_esound 1
-%endif
-
-%if 0%{?fedora} > 16
-%define bluray 1
-%endif
-
-%if 0%{?fedora} > 19
-%define _without_directfb 1
-%endif
-
-Summary: A multimedia engine
-Name: xine-lib
-Version: 1.1.21
-Release: 10%{?dist}
-License: GPLv2+
-Group: System Environment/Libraries
-URL: http://www.xine-project.org/
-# The tarball is generated from the upstream tarball using
-# the script in SOURCE1. It prunes potentially patented code
-#Source0: http://downloads.sourceforge.net/xine/xine-lib-%{version}.tar.xz
-Source0: xine-lib-%{version}-pruned.tar.xz
-Source1: xine-lib-cleanup-sources.sh
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-
-Patch0: xine-lib-1.1.19-no_autopoint.patch
-Patch1: xine-lib-1.1.4-optflags.patch
-# http://bugzilla.redhat.com/470568
-Patch2: xine-lib-1.1.17-avsync_hack.patch
-# http://bugzilla.redhat.com/477226
-Patch3: xine-lib-1.1.16.2-multilib.patch
-# find the Samba 4 libsmbclient.h using pkg-config (#909825)
-Patch4: xine-lib-1.1.21-samba4.patch
-
-Provides: xine-lib(plugin-abi) = %{plugin_abi}
-%{?_isa:Provides: xine-lib(plugin-abi)%{?_isa} = %{plugin_abi}}
-
-# DVD plugin moved from there
-Conflicts: xine-lib-extras-freeworld < 1.1.21-3
-
-BuildRequires: autoconf automake libtool
-# X11
-BuildRequires: libX11-devel
-BuildRequires: libXv-devel
-BuildRequires: libXinerama-devel
-BuildRequires: libXvMC-devel
-BuildRequires: libGLU-devel
-BuildRequires: libv4l-devel
-BuildRequires: libxcb-devel
-# Video
-BuildRequires: SDL-devel
-BuildRequires: libtheora-devel
-BuildRequires: libmng-devel
-BuildRequires: aalib-devel >= 1.4
-BuildRequires: libcaca-devel >= 0.99-0.5.beta14
-%if 0%{!?_without_directfb:1}
-BuildRequires: directfb-devel
-%endif # directfb
-BuildRequires: ImageMagick-devel >= 6.2.4.6-1
-%if 0%{?_with_freetype:1}
-BuildRequires: fontconfig-devel
-%endif # freetype
-# Audio
-BuildRequires: alsa-lib-devel >= 0.9.0
-%if 0%{!?_without_esound:1}
-BuildRequires: esound-devel
-%endif # esound
-BuildRequires: flac-devel
-BuildRequires: jack-audio-connection-kit-devel
-BuildRequires: libmodplug-devel
-BuildRequires: libmpcdec-devel
-BuildRequires: libvorbis-devel
-BuildRequires: speex-devel
-BuildRequires: wavpack-devel
-# CDs
-BuildRequires: libcdio-devel
-# Other
-BuildRequires: pkgconfig
-BuildRequires: pkgconfig(libpulse)
-BuildRequires: gtk2-devel
-BuildRequires: libsmbclient-devel
-BuildRequires: libdvdnav-devel
-BuildRequires: libdvdread-devel
-%if 0%{?bluray}
-BuildRequires: libbluray-devel
-%endif
-
-# Dropped in Fedora 9
-Obsoletes: xine-lib-arts < %{version}-%{release}
-
-# Included in main package since Fedora 12
-Obsoletes: xine-lib-pulseaudio < 1.1.16.3-5
-Provides: xine-lib-pulseaudio = %{version}-%{release}
-
-%description
-This package contains the Xine library. It can be used to play back
-various media, decode multimedia files from local disk drives, and display
-multimedia streamed over the Internet. It interprets many of the most
-common multimedia formats available - and some uncommon formats, too.
-
-%package devel
-Summary: Xine library development files
-Group: Development/Libraries
-Requires: %{name}%{?_isa} = %{version}-%{release}
-Requires: pkgconfig
-Requires: zlib-devel
-%description devel
-This package contains development files for %{name}.
-
-%package extras
-Summary: Additional plugins for %{name}
-Group: System Environment/Libraries
-Requires: %{name}%{?_isa} = %{version}-%{release}
-#Requires: xine-lib(plugin-abi) = %{plugin_abi}
-%description extras
-This package contains extra plugins for %{name}:
-%if 0%{!?_without_esound:1}
- - EsounD
-%endif # esound
- - JACK
- - GDK-Pixbuf
- - SMB
- - SDL
- - AA-lib
- - Libcaca
- - Image decoding
-%if 0%{!?_without_directfb:1}
- - DirectFB output
-%endif # directfb
-
-
-%prep
-%setup -q
-%patch0 -p1 -b .no_autopoint
-# extra work for to omit old libtool-related crud
-rm -f configure ltmain.sh libtool m4/libtool.m4 m4/ltoptions.m4 m4/ltversion.m4
-%patch1 -p1 -b .optflags
-%patch2 -p1 -b .avsync_hack
-%patch3 -p1 -b .multilib
-%patch4 -p1 -b .samba4
-
-./autogen.sh noconfig
-
-
-%build
-export FFMPEG_CFLAGS=" " FFMPEG_LIBS=" "
-export FFMPEG_POSTPROC_CFLAGS=" " FFMPEG_POSTPROC_LIBS=" "
-export FFMPEG_UTIL_CFLAGS=" " FFMPEG_UTIL_LIBS=" "
-export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)"
-# Keep list of options in mostly the same order as ./configure --help.
-%configure \
- --disable-dependency-tracking \
- --enable-ipv6 \
-%if 0%{!?_without_directfb:1}
- --enable-directfb \
-%endif # directfb
- --enable-v4l \
- --enable-libv4l \
- --enable-xvmc \
- --disable-gnomevfs \
- --disable-a52dec \
- --disable-mad \
- --disable-vcd \
- --disable-asf \
- --disable-faad \
-%if 0%{?_with_freetype:1}
-%if 0%{?_with_antialiasing:1}
- --enable-antialiasing \
-%endif # antialiasing
- --with-freetype \
- --with-fontconfig \
-%endif # freetype
- --with-caca \
- --with-external-ffmpeg \
- --with-external-dvdnav \
- --with-xv-path=%{_libdir} \
- --with-libflac \
- --with-external-libmpcdec \
- --without-arts \
-%if 0%{?_without_esound:1}
- --without-esound \
-%endif
- --with-wavpack \
- --with-real-codecs-path=%{codecdir} \
- --with-w32-path=%{codecdir}
-
-make %{?_smp_mflags}
-
-
-%install
-rm -rf $RPM_BUILD_ROOT __docs
-make install DESTDIR=$RPM_BUILD_ROOT
-%find_lang libxine1
-cp -pR $RPM_BUILD_ROOT%{_docdir}/xine-lib __docs
-rm -rf $RPM_BUILD_ROOT%{_docdir}/xine-lib
-
-# Removing useless files
-rm -Rf $RPM_BUILD_ROOT%{_libdir}/libxine.la __docs/README \
- __docs/README.{freebsd,irix,solaris,MINGWCROSS,WIN32} \
- __docs/README.{dxr3,network_dvd}
-
-# Directory for binary codecs
-mkdir -p $RPM_BUILD_ROOT%{codecdir}
-
-# unpackaged files
-%if 0%{?_disable_v4l1:1}
-rm -fv $RPM_BUILD_ROOT%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_pvr.so
-rm -fv $RPM_BUILD_ROOT%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_v4l.so
-%endif
-
-
-%clean
-rm -rf $RPM_BUILD_ROOT
-
-
-%post -p /sbin/ldconfig
-
-%postun -p /sbin/ldconfig
-
-
-%files -f libxine1.lang
-%defattr(-,root,root,-)
-%doc AUTHORS COPYING COPYING.LIB CREDITS ChangeLog* README TODO
-%doc __docs/README.* __docs/faq.*
-%dir %{codecdir}/
-%{_datadir}/xine/
-%{_libdir}/libxine.so.*
-%{_mandir}/man5/xine.5*
-%dir %{_libdir}/xine/
-%dir %{_libdir}/xine/plugins/
-%dir %{_libdir}/xine/plugins/%{plugin_abi}/
-%{_libdir}/xine/plugins/%{plugin_abi}/mime.types
-# Listing every plugin separately for better control over binary packages
-# containing exactly the plugins we want, nothing accidentally snuck in
-# nor dropped.
-%dir %{_libdir}/xine/plugins/%{plugin_abi}/post/
-%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_audio_filters.so
-%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_goom.so
-%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_mosaico.so
-%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_switch.so
-%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_visualizations.so
-%if %{have_vidix}
-%dir %{_libdir}/xine/plugins/%{plugin_abi}/vidix/
-%{_libdir}/xine/plugins/%{plugin_abi}/vidix/cyberblade_vid.so
-%{_libdir}/xine/plugins/%{plugin_abi}/vidix/mach64_vid.so
-%{_libdir}/xine/plugins/%{plugin_abi}/vidix/mga_crtc2_vid.so
-%{_libdir}/xine/plugins/%{plugin_abi}/vidix/mga_vid.so
-%{_libdir}/xine/plugins/%{plugin_abi}/vidix/nvidia_vid.so
-%{_libdir}/xine/plugins/%{plugin_abi}/vidix/pm2_vid.so
-%{_libdir}/xine/plugins/%{plugin_abi}/vidix/pm3_vid.so
-%{_libdir}/xine/plugins/%{plugin_abi}/vidix/radeon_vid.so
-%{_libdir}/xine/plugins/%{plugin_abi}/vidix/rage128_vid.so
-%{_libdir}/xine/plugins/%{plugin_abi}/vidix/savage_vid.so
-%{_libdir}/xine/plugins/%{plugin_abi}/vidix/sis_vid.so
-%{_libdir}/xine/plugins/%{plugin_abi}/vidix/unichrome_vid.so
-%endif # vidix
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_alsa.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_file.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_none.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_oss.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_pulseaudio.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_bitplane.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_gsm610.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_lpcm.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_mpc.so
-%ifarch %{ix86}
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_qt.so
-%endif # ix86
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_real.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_rgb.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_speex.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spu.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spucc.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spucmml.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spudvb.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spuhdmv.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_sputext.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_theora.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_vorbis.so
-%ifarch %{ix86}
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_w32dll.so
-%endif # ix86
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_yuv.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_audio.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_avi.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_fli.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_flv.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_games.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_iff.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_image.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_matroska.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mng.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mpeg.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mpeg_block.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mpeg_elem.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mpeg_pes.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mpeg_ts.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_nsv.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_ogg.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_pva.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_qt.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_rawdv.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_real.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_slave.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_sputext.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_yuv_frames.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_yuv4mpeg2.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_flac.so
-%if 0%{?bluray}
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_bluray.so
-%endif
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_cdda.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_dvb.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_dvd.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_file.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_http.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_net.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_pnm.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_rtp.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_rtsp.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_stdin_fifo.so
-%if ! 0%{?_disable_v4l1:1}
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_pvr.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_v4l.so
-%endif
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_v4l2.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_fb.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_none.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_opengl.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_raw.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_syncfb.so
-%if %{have_vidix}
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_vidix.so
-%endif # vidix
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xcbshm.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xcbxv.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xshm.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xv.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xvmc.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xxmc.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_wavpack.so
-
-%files extras
-%defattr(-,root,root,-)
-%if 0%{!?_without_esound:1}
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_esd.so
-%endif # esound
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_jack.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_gdk_pixbuf.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_image.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_smb.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_aa.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_caca.so
-%if 0%{!?_without_directfb:1}
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_directfb.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xdirectfb.so
-%endif # directfb
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_sdl.so
-
-%files devel
-%defattr(-,root,root,-)
-%doc __docs/hackersguide/*
-%{_bindir}/xine-config
-%{_bindir}/xine-list*
-%{_datadir}/aclocal/xine.m4
-%{_includedir}/xine.h
-%{_includedir}/xine/
-%{_libdir}/libxine.so
-%{_libdir}/pkgconfig/libxine.pc
-%{_mandir}/man1/xine-config.1*
-%{_mandir}/man1/xine-list*.1*
-
-
-%changelog
-* Fri Sep 20 2013 Xavier Bachelot <xavier(a)bachelot.org> 1.1.21-10
-- Rebuild for libbluray-0.4.0.
-
-* Sat Aug 31 2013 Till Maas <opensource(a)till.name> - 1.1.21-9
-- Disable directfb support for Fedora 20 and newer, because it was retired
-
-* Tue Aug 27 2013 Jon Ciesla <limburgher(a)gmail.com> - 1.1.21-8
-- libmng rebuild.
-
-* Sun Aug 04 2013 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1.1.21-7
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
-
-* Sat Mar 30 2013 Kevin Fenzi <kevin(a)scrye.com> - 1.1.21-6
-- Rebuild for broken deps in rawhide
-
-* Tue Feb 12 2013 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.21-5
-- find the Samba 4 libsmbclient.h using pkg-config, fixes FTBFS (#909825)
-
-* Mon Sep 17 2012 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.21-4
-- rebuild for new directfb
-
-* Sun Jul 22 2012 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1.1.21-3.1
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
-
-* Sat Jul 21 2012 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.21-2.1
-- disable libbluray support on F16, libbluray too old
-
-* Mon Jul 16 2012 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.21-2
-- do not remove DVD plugin, not encumbered (only uses libdvdread/libdvdnav)
-
-* Tue Jun 12 2012 Xavier Bachelot <xavier(a)bachelot.org> 1.1.21-1
-- Update to 1.1.21.
-- Enable libbluray support.
-
-* Sat Mar 10 2012 Rex Dieter <rdieter(a)fedoraproject.org> 1.1.20.1-3
-- rebuild (ImageMagick)
-
-* Sat Jan 14 2012 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1.1.20.1-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
-
-* Tue Jan 03 2012 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.20.1-1
-- update to 1.1.20.1 (bugfix release)
-- drop upstreamed link-libdvdread patch
-
-* Sun Nov 20 2011 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.20-1
-- update to 1.1.20 (#753758)
-- use .xz tarball
-- drop old conditionals
-- drop ESD (esound) support on F17+ (native PulseAudio just works)
-- drop autotools patch, run autogen.sh in %%prep instead
-- drop unused deepbind patch
-- drop xvmclib_header patch, fixed upstream
-- use the system libdvdnav (and libdvdread) instead of the bundled one
-- fix system libdvdnav support to also link libdvdread
-- plugin ABI is now 1.30
-
-* Fri Jul 15 2011 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.19-7
-- rebuild for new DirectFB (1.5.0)
-
-* Mon Feb 14 2011 Rex Dieter <rdieter(a)fedoraproject.org> 1.1.19-6
-- split v4l, libv4l handling
-- omit v4l(1) bits (f15+)
-
-* Mon Feb 07 2011 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1.1.19-5
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
-
-* Mon Jan 24 2011 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.19-4
-- xvmclib header changes, fixes ftbfs (#635653,#661071)
-
-* Sun Nov 28 2010 Kevin Kofler <Kevin(a)tigcc.ticalc.org> - 1.1.19-3
-- rebuild for new directfb (1.4.11)
-
-* Wed Sep 15 2010 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.19-2
-- rebuild (ImageMagick)
-
-* Sun Jul 25 2010 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.19-1
-- 1.1.19
-
-* Mon Jul 19 2010 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.18.1-3
-- no directfb on arm (yet)
-
-* Tue Jun 1 2010 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.18.1-2
-- Rebuild.
-
-* Sun Mar 07 2010 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.18.1-1
-- xine-lib-1.1.18.1
-
-* Sun Mar 07 2010 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.18-2
-- rebuild (ImageMagick)
-
-* Wed Feb 24 2010 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.18-1
-- xine-lib-1.1.18, plugin-abi 1.28 (#567913)
-
-* Sat Dec 12 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.17-3
-- bump flac_decoder priority (rh#301861,xine#225)
-
-* Mon Dec 07 2009 Bastien Nocera <bnocera(a)redhat.com> 1.1.17-2
-- Remove gnome-vfs2 plugin, it's mostly useless
-
-* Wed Dec 02 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.17-1
-- xine-lib-1.1.17, plugin-abi 1.27
-
-* Sun Nov 29 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.3-5
-- move -pulseaudio into main pkg (f12+)
-- update URL
-
-* Mon Jul 27 2009 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1.1.16.3-4
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
-
-* Thu Jul 02 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.3-3
-- rebuild (DirectFB)
-
-* Fri Apr 17 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.3-2.1
-- drop old_caca hacks/patches (F-9)
-
-* Fri Apr 10 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.3-2
-- fix modtracker mimetypes
-
-* Fri Apr 03 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.3-1
-- xine-lib-1.1.16.3, plugin-abi 1.26
-
-* Thu Mar 26 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.2-6
-- add-mime-for-mod.patch
-
-* Tue Mar 10 2009 Kevin Kofler <Kevin(a)tigcc.ticalc.org> - 1.1.16.2-5
-- rebuild for new ImageMagick
-
-* Thu Feb 26 2009 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1.1.16.2-4
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
-
-* Fri Feb 20 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.2-3
-- xine-lib-devel muiltilib conflict (#477226)
-
-* Tue Feb 17 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.2-2
-- xine-lib-safe-audio-pause3 patch (#486255, kdebug#180339)
-
-* Tue Feb 10 2009 Kevin Kofler <Kevin(a)tigcc.ticalc.org> - 1.1.16.2-1.1
-- also patch the caca version check in configure(.ac)
-
-* Tue Feb 10 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.2-1
-- xine-lib-1.1.16.2
-
-* Mon Feb 09 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.1-4
-- gapless-race-fix patch (kdebug#180339)
-
-* Sat Feb 07 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.1-3
-- safe-audio-pause patch (kdebug#180339)
-
-* Mon Jan 26 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.1-2
-- Provides: xine-lib(plugin-abi)%%{?_isa} = %%{plugin_abi}
-- touchup Summary/Description
-
-* Fri Jan 23 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.1-1
-- xine-lib-1.1.16.1
-- include avsync patch (#470568)
-
-* Sun Jan 18 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16-2
-- drop deepbind patch (#480504)
-- caca support (EPEL)
-
-* Wed Jan 07 2009 Kevin Kofler <Kevin(a)tigcc.ticalc.org> - 1.1.16-1.1
-- patch for old libcaca in F9-
-
-* Wed Jan 07 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16-1
-- xine-lib-1.1.16, plugin ABI 1.25
-- --with-external-libdvdnav, include mpeg demuxers (#213597)
-
-* Fri Dec 12 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.15-4
-- rebuild for pkgconfig deps
-
-* Tue Oct 28 2008 Kevin Kofler <Kevin(a)tigcc.ticalc.org> - 1.1.15-3
-- rebuild for new libcaca
-
-* Thu Oct 23 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.15-2
-- respin
-
-* Wed Aug 20 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.15-1
-- xine-lib-1.1.15, plugin ABI 1.24 (rh#455752, CVE-2008-3231)
-- Obsoletes: -arts (f9+)
-
-* Sun Apr 27 2008 Kevin Kofler <Kevin(a)tigcc.ticalc.org> - 1.1.12-3
-- rebuild for new ImageMagick (6.4.0.10)
-
-* Thu Apr 24 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.12-2
-- CVE-2008-1878
-
-* Wed Apr 16 2008 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.12-1
-- 1.1.12 (plugin ABI 1.21); qt, mkv, and pulseaudio patches applied upstream.
-
-* Wed Apr 9 2008 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.11.1-3
-- Apply upstream fixes for Quicktime (#441705) and Matroska regressions
- introduced in 1.1.11.1.
-
-* Mon Apr 07 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.11.1-2
-- pulse-rework2 patch (#439731)
-- -pulseaudio subpkg (#439731)
-
-* Sun Mar 30 2008 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.11.1-1
-- 1.1.11.1 (security update, #438663, CVE-2008-1482).
-- Provide versioned xine-lib(plugin-abi) so 3rd party packages installing
- plugins can use it instead of requiring a version of xine-lib.
-
-* Wed Mar 19 2008 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.11-1
-- 1.1.11 (security update, #438182, CVE-2008-0073).
-- Drop jack and wavpack build conditionals.
-- Specfile cleanups.
-
-* Fri Mar 7 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.10.1-1.1
-- xcb support for f7+ (#373411)
-
-* Fri Feb 8 2008 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.10.1-1
-- 1.1.10.1 (security update, #431541).
-
-* Sun Jan 27 2008 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.10-2
-- Include spu, spucc, and spucmml decoders (#213597).
-
-* Sun Jan 27 2008 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.10-1
-- 1.1.10 (security update).
-
-* Mon Jan 21 2008 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.9.1-3
-- Fix version number in libxine.pc (#429487).
-
-* Sun Jan 20 2008 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.9.1-2
-- Disable upstream "discard buffers on ao close" 1.1.9 changeset (#429182).
-
-* Sat Jan 12 2008 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.9.1-1
-- 1.1.9.1 (security update).
-
-* Sun Jan 6 2008 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.9-1
-- 1.1.9.
-
-* Thu Sep 27 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.8-6
-- Enable wavpack support by default for all distros.
-
-* Sun Sep 23 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.8-5
-- Enable JACK support by default for all distros.
-
-* Wed Sep 19 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.8-4
-- Fix "--without wavpack" build.
-
-* Sat Sep 15 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.8-3
-- Move XCB plugins to the main package.
-- Make aalib, caca, pulseaudio, jack, and wavpack support optional at build
- time in preparation for the first EPEL build.
-
-* Sun Sep 09 2007 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.8-2
-- remove the dependency from -extras to -arts, and use Obsoletes to
- provide an upgrade path
-
-* Thu Aug 30 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.8-1
-- 1.1.8, "open" patch applied upstream.
-- Build XCB plugins by default for Fedora 8+ only.
-
-* Sat Aug 25 2007 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.7-3
-- Split the aRts plugin into its own subpackage
-
-* Tue Aug 14 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.7-2
-- Include XCB output plugins (in -extras at least for now).
-- Protect "open" with glibc 2.6.90 and -D_FORTIFY_SOURCE=2.
-- Clean up %%configure options.
-- License: GPLv2+
-
-* Thu Jun 7 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.7-1
-- 1.1.7.
-
-* Wed Jun 06 2007 Rex Dieter <rdieter[AT]fedoraproject.org> - 1.1.6-3
-- respin (for libmpcdec)
-
-* Wed Apr 25 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.6-2
-- Make Real codec search path /usr/lib(64)/codecs again (#237743).
-
-* Wed Apr 18 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.6-1
-- 1.1.6.
-
-* Wed Apr 11 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.5-1
-- 1.1.5.
-- Include GSM 06.10 decoder (#228186).
-- Re-enable CACA support.
-
-* Sun Apr 8 2007 Ville Skyttä <ville.skytta(a)iki.fi>
-- Exclude vidix dir on systems that don't have vidix.
-- Specfile cleanups.
-
-* Mon Mar 26 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.4-4
-- Add PulseAudio support (in -extras, #234035/Jost Diederichs).
-- Adjust Samba build dependencies to work for both <= and > FC6.
-- Add --with freetype and --with antialiasing build time options,
- default disabled, and an upstream patch for FreeType memory leak (#233194).
-
-* Sat Mar 10 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.4-3
-- Apply upstream fix for CVE-2007-1246.
-
-* Wed Feb 14 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.4-2
-- Rebuild.
-
-* Wed Jan 31 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.4-1
-- 1.1.4, with wavpack and system libmpcdec support.
-
-* Thu Jan 18 2007 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.3-4
-- rebuild
-
-* Wed Jan 3 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.3-3
-- Fix libflac decoder with FLAC < 1.1.3 (#220961).
-- Apply upstream patch for FLAC >= 1.1.3.
-
-* Sun Dec 17 2006 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.3-2
-- Don't run autotools during build.
-
-* Mon Dec 04 2006 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.3-1
-- version 1.1.3
-- patch2 applied upstream
-- Disable CACA support by default, needs newer than what's in FE ATM.
-- Split extras plugins in a separate package
-- Enable JACK support (in extras subpackage)
-- Enable DirectFB support (in extras subpackage)
-
-* Sat Nov 11 2006 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.2-18
-- Make shn files available to amarok. References:
- http://xine.cvs.sourceforge.net/xine/xine-lib/src/demuxers/demux_shn.c?r1...
- https://launchpad.net/distros/ubuntu/+source/xine-lib/+bug/63130
-
-* Wed Oct 18 2006 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.2-17
-- cleanup docs
-- remove mms
-- delete more source files in the cleanup script
-- drop patch3 (affecting mms)
-
-* Tue Oct 17 2006 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.2-16
-- fix files list
-- add BR gtk2-devel
-- remove xineplug_decode_gdk_pixbuf.so from x86-only
-
-* Mon Oct 16 2006 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.2-15
-- removed libdts
-- drop dxr patch (it's removed from tarball)
-- list xineplug_decode_gdk_pixbuf.so and xineplug_vo_out_vidix.so only on x86
-
-* Sun Oct 15 2006 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.2-14
-- update SOURCE1 to remove liba52 from tarball (patented)
-
-* Tue Sep 12 2006 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.2-13
-- drop patches 2 and 4
-
-* Fri Sep 08 2006 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.2-12
-- initial Fedora Extras package
commit 4ca22501764f755758531c8f52806a12fe1c3016
Author: Xavier Bachelot <xavier(a)bachelot.org>
Date: Fri Sep 20 16:37:56 2013 +0200
Rebuild for libbluray-0.4.0.
diff --git a/xine-lib.spec b/xine-lib.spec
index 8365d82..0b1bf41 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -34,7 +34,7 @@
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.21
-Release: 9%{?dist}
+Release: 10%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://www.xine-project.org/
@@ -394,6 +394,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Fri Sep 20 2013 Xavier Bachelot <xavier(a)bachelot.org> 1.1.21-10
+- Rebuild for libbluray-0.4.0.
+
* Sat Aug 31 2013 Till Maas <opensource(a)till.name> - 1.1.21-9
- Disable directfb support for Fedora 20 and newer, because it was retired
commit 195a4e285b5b721d0ade45b083e848552db4de3a
Author: Till Maas <opensource(a)till.name>
Date: Sat Aug 31 21:53:28 2013 +0200
Disable directfb support for Fedora 20 and newer, because it was retired
diff --git a/xine-lib.spec b/xine-lib.spec
index 30bedb3..8365d82 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -27,10 +27,14 @@
%define bluray 1
%endif
+%if 0%{?fedora} > 19
+%define _without_directfb 1
+%endif
+
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.21
-Release: 8%{?dist}
+Release: 9%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://www.xine-project.org/
@@ -390,6 +394,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Sat Aug 31 2013 Till Maas <opensource(a)till.name> - 1.1.21-9
+- Disable directfb support for Fedora 20 and newer, because it was retired
+
* Tue Aug 27 2013 Jon Ciesla <limburgher(a)gmail.com> - 1.1.21-8
- libmng rebuild.
commit e9cb3c563713dee3a0f8bf932604f8a0ac2e880a
Author: Jon Ciesla <limburgher(a)gmail.com>
Date: Tue Aug 27 08:02:03 2013 -0500
libmng rebuild
diff --git a/xine-lib.spec b/xine-lib.spec
index 6c973ae..30bedb3 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -30,7 +30,7 @@
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.21
-Release: 7%{?dist}
+Release: 8%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://www.xine-project.org/
@@ -390,6 +390,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Tue Aug 27 2013 Jon Ciesla <limburgher(a)gmail.com> - 1.1.21-8
+- libmng rebuild.
+
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1.1.21-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
commit 5d28f1e7d9ec9de3807febdc726ac6da4a1a9700
Author: Dennis Gilmore <dennis(a)ausil.us>
Date: Sun Aug 4 03:18:45 2013 -0500
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
diff --git a/xine-lib.spec b/xine-lib.spec
index 3d671e1..6c973ae 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -30,7 +30,7 @@
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.21
-Release: 6%{?dist}
+Release: 7%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://www.xine-project.org/
@@ -390,6 +390,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Sun Aug 04 2013 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1.1.21-7
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
+
* Sat Mar 30 2013 Kevin Fenzi <kevin(a)scrye.com> - 1.1.21-6
- Rebuild for broken deps in rawhide
commit 9f705b68844e4c3a9492eb9f6693f19ac7b5cd5c
Author: Kevin Fenzi <kevin(a)scrye.com>
Date: Sat Mar 30 12:54:15 2013 -0600
Rebuild for broken deps in rawhide
diff --git a/xine-lib.spec b/xine-lib.spec
index ebfe4e0..3d671e1 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -30,7 +30,7 @@
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.21
-Release: 5%{?dist}
+Release: 6%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://www.xine-project.org/
@@ -390,6 +390,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Sat Mar 30 2013 Kevin Fenzi <kevin(a)scrye.com> - 1.1.21-6
+- Rebuild for broken deps in rawhide
+
* Tue Feb 12 2013 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.21-5
- find the Samba 4 libsmbclient.h using pkg-config, fixes FTBFS (#909825)
commit 1b121475e097285d896c8554ce377487b11c393d
Author: Kevin Kofler <Kevin(a)tigcc.ticalc.org>
Date: Tue Feb 12 15:55:25 2013 +0100
find the Samba 4 libsmbclient.h using pkg-config, fixes FTBFS (#909825)
* Tue Feb 12 2013 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.21-5
- find the Samba 4 libsmbclient.h using pkg-config, fixes FTBFS (#909825)
diff --git a/xine-lib-1.1.21-samba4.patch b/xine-lib-1.1.21-samba4.patch
new file mode 100644
index 0000000..6c5f67d
--- /dev/null
+++ b/xine-lib-1.1.21-samba4.patch
@@ -0,0 +1,32 @@
+diff -ur xine-lib-1.1.21/configure.ac xine-lib-1.1.21-samba4/configure.ac
+--- xine-lib-1.1.21/configure.ac 2012-07-16 21:42:38.000000000 +0200
++++ xine-lib-1.1.21-samba4/configure.ac 2013-02-12 15:44:33.000000000 +0100
+@@ -1698,12 +1698,10 @@
+ [with_samba=$enableval], [with_samba=yes])
+
+ if test "x$with_samba" = "xyes"; then
+- AC_CHECK_LIB(smbclient, smbc_init,
+- [ AC_CHECK_HEADER(libsmbclient.h,
+- [ have_libsmbclient=yes
+- LIBSMBCLIENT_LIBS="-lsmbclient" ],
+- AC_MSG_RESULT([*** All libsmbclient dependent parts will be disabled ***]))],
+- AC_MSG_RESULT([*** All libsmbclient dependent parts will be disabled ***]))
++ PKG_CHECK_MODULES([LIBSMBCLIENT], [smbclient],
++ [have_libsmbclient=yes],
++ AC_MSG_RESULT(*** All libsmbclient dependent parts will be disabled ***))
++ AC_SUBST(LIBSMBCLIENT_CFLAGS)
+ AC_SUBST(LIBSMBCLIENT_LIBS)
+ fi
+ AM_CONDITIONAL(HAVE_LIBSMBCLIENT, test "x$have_libsmbclient" = "xyes")
+diff -ur xine-lib-1.1.21/src/input/Makefile.am xine-lib-1.1.21-samba4/src/input/Makefile.am
+--- xine-lib-1.1.21/src/input/Makefile.am 2012-07-16 21:42:38.000000000 +0200
++++ xine-lib-1.1.21-samba4/src/input/Makefile.am 2013-02-12 15:46:45.000000000 +0100
+@@ -150,7 +150,7 @@
+
+ xineplug_inp_smb_la_SOURCES = input_smb.c
+ xineplug_inp_smb_la_LIBADD = $(XINE_LIB) $(LIBSMBCLIENT_LIBS) $(LTLIBINTL)
+-xineplug_inp_smb_la_CFLAGS = $(VISIBILITY_FLAG) $(AM_CFLAGS)
++xineplug_inp_smb_la_CFLAGS = $(VISIBILITY_FLAG) $(AM_CFLAGS) $(LIBSMBCLIENT_CFLAGS)
+ xineplug_inp_smb_la_LDFLAGS = $(xineplug_ldflags)
+
+ xineplug_inp_pvr_la_SOURCES = input_pvr.c
diff --git a/xine-lib.spec b/xine-lib.spec
index 1e701eb..ebfe4e0 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -30,7 +30,7 @@
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.21
-Release: 4%{?dist}
+Release: 5%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://www.xine-project.org/
@@ -44,9 +44,11 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Patch0: xine-lib-1.1.19-no_autopoint.patch
Patch1: xine-lib-1.1.4-optflags.patch
# http://bugzilla.redhat.com/470568
-Patch8: xine-lib-1.1.17-avsync_hack.patch
+Patch2: xine-lib-1.1.17-avsync_hack.patch
# http://bugzilla.redhat.com/477226
-Patch9: xine-lib-1.1.16.2-multilib.patch
+Patch3: xine-lib-1.1.16.2-multilib.patch
+# find the Samba 4 libsmbclient.h using pkg-config (#909825)
+Patch4: xine-lib-1.1.21-samba4.patch
Provides: xine-lib(plugin-abi) = %{plugin_abi}
%{?_isa:Provides: xine-lib(plugin-abi)%{?_isa} = %{plugin_abi}}
@@ -151,8 +153,9 @@ This package contains extra plugins for %{name}:
# extra work for to omit old libtool-related crud
rm -f configure ltmain.sh libtool m4/libtool.m4 m4/ltoptions.m4 m4/ltversion.m4
%patch1 -p1 -b .optflags
-%patch8 -p1 -b .avsync_hack
-%patch9 -p1 -b .multilib
+%patch2 -p1 -b .avsync_hack
+%patch3 -p1 -b .multilib
+%patch4 -p1 -b .samba4
./autogen.sh noconfig
@@ -387,6 +390,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Tue Feb 12 2013 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.21-5
+- find the Samba 4 libsmbclient.h using pkg-config, fixes FTBFS (#909825)
+
* Mon Sep 17 2012 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.21-4
- rebuild for new directfb
commit 1b31029cd5caaa92ef737fa198300ae4a68bf843
Author: Kevin Kofler <Kevin(a)tigcc.ticalc.org>
Date: Mon Sep 17 23:12:14 2012 +0200
rebuild for new directfb
* Mon Sep 17 2012 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.21-4
- rebuild for new directfb
diff --git a/xine-lib.spec b/xine-lib.spec
index e855808..1e701eb 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -30,7 +30,7 @@
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.21
-Release: 3%{?dist}.1
+Release: 4%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://www.xine-project.org/
@@ -387,6 +387,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Mon Sep 17 2012 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.21-4
+- rebuild for new directfb
+
* Sun Jul 22 2012 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1.1.21-3.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
commit 7e6058d0e78c7382466d9039c7df7c869c08d394
Author: Dennis Gilmore <dennis(a)ausil.us>
Date: Sun Jul 22 00:35:12 2012 -0500
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
diff --git a/xine-lib.spec b/xine-lib.spec
index 2e3946a..e855808 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -30,7 +30,7 @@
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.21
-Release: 2%{?dist}.1
+Release: 3%{?dist}.1
License: GPLv2+
Group: System Environment/Libraries
URL: http://www.xine-project.org/
@@ -387,6 +387,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Sun Jul 22 2012 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1.1.21-3.1
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
+
* Sat Jul 21 2012 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.21-2.1
- disable libbluray support on F16, libbluray too old
commit 98180e81b4931c972c7db840e945feae2ee74ddc
Author: Kevin Kofler <Kevin(a)tigcc.ticalc.org>
Date: Sat Jul 21 15:46:43 2012 +0200
- disable libbluray support on F16, libbluray too old
* Sat Jul 21 2012 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.21-2.1
- disable libbluray support on F16, libbluray too old
diff --git a/xine-lib.spec b/xine-lib.spec
index 2f2352c..2e3946a 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -23,10 +23,14 @@
%define _without_esound 1
%endif
+%if 0%{?fedora} > 16
+%define bluray 1
+%endif
+
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.21
-Release: 2%{?dist}
+Release: 2%{?dist}.1
License: GPLv2+
Group: System Environment/Libraries
URL: http://www.xine-project.org/
@@ -93,7 +97,9 @@ BuildRequires: gtk2-devel
BuildRequires: libsmbclient-devel
BuildRequires: libdvdnav-devel
BuildRequires: libdvdread-devel
+%if 0%{?bluray}
BuildRequires: libbluray-devel
+%endif
# Dropped in Fedora 9
Obsoletes: xine-lib-arts < %{version}-%{release}
@@ -315,7 +321,9 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_yuv_frames.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_yuv4mpeg2.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_flac.so
+%if 0%{?bluray}
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_bluray.so
+%endif
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_cdda.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_dvb.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_dvd.so
@@ -379,6 +387,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Sat Jul 21 2012 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.21-2.1
+- disable libbluray support on F16, libbluray too old
+
* Mon Jul 16 2012 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.21-2
- do not remove DVD plugin, not encumbered (only uses libdvdread/libdvdnav)
commit 84b672c560624d780e2d8748142384108d302c61
Merge: 93d016b 7537d5e
Author: Kevin Kofler <Kevin(a)tigcc.ticalc.org>
Date: Sat Jul 21 12:08:54 2012 +0200
Merge branch 'master' of ssh://pkgs.fedoraproject.org/xine-lib into f16
commit 93d016bc79677b19244ed6b99f0968aeb6c7b38c
Author: Kevin Kofler <Kevin(a)tigcc.ticalc.org>
Date: Sat Jul 21 12:07:40 2012 +0200
Revert "Rebuild for ImageMagick update http://lists.fedoraproject.org/pipermail/devel/2012-May/167462.html"
This reverts commit 175663444c00adbafa2bcb7b9f42fa836beade14.
Syncing from master instead.
diff --git a/xine-lib.spec b/xine-lib.spec
index 5185c70..7bd8afb 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -26,7 +26,7 @@
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.20.1
-Release: 2%{?dist}
+Release: 1%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://www.xine-project.org/
@@ -373,9 +373,6 @@ rm -rf $RPM_BUILD_ROOT
%changelog
-* Sun Jun 3 2012 Pavel Alexeev <Pahan(a)Hubbitus.info> 1.1.20.1-2
-- Rebuild for ImageMagick update http://lists.fedoraproject.org/pipermail/devel/2012-May/167462.html
-
* Tue Jan 03 2012 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.20.1-1
- update to 1.1.20.1 (bugfix release)
- drop upstreamed link-libdvdread patch
commit 7537d5e2da03a62eef237d576b2fd9cb397c27a6
Author: Kevin Kofler <kevin.kofler(a)chello.at>
Date: Mon Jul 16 21:50:44 2012 +0200
- do not remove DVD plugin, not encumbered (only uses libdvdread/libdvdnav)
* Mon Jul 16 2012 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.21-2
- do not remove DVD plugin, not encumbered (only uses libdvdread/libdvdnav)
It makes no sense to remove the DVD input plugin when:
* the libdvd* libraries which do all the actual work are in Fedora,
* GStreamer also ships the exact equivalent functionality in Fedora and
* we are now shipping the BluRay input plugin in Fedora.
The DVD input plugin does not include nor depend on any decoding or decryption
code, it only wraps the libdvdread and libdvdnav libraries. (The same goes for
the BluRay plugin, except libbluray is used there.)
diff --git a/sources b/sources
index cce5cd6..fd1b3c5 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-121b82650df35c7d701586889edc9aab xine-lib-1.1.21-pruned.tar.xz
+1568a378a732bd9b69d418674ad4165c xine-lib-1.1.21-pruned.tar.xz
diff --git a/xine-lib-cleanup-sources.sh b/xine-lib-cleanup-sources.sh
index 6a1aa82..a250800 100755
--- a/xine-lib-cleanup-sources.sh
+++ b/xine-lib-cleanup-sources.sh
@@ -44,7 +44,10 @@ for remove in ffmpeg; do
rmpluglib combined ffmpeg
done
# Input plugins
-for p in dvd vcd mms; do
+# DVD reading (dvd input plugin) has now been in Fedora for a while (libdvdread,
+# libdvdnav), the xine-lib code only wraps those libraries. (Decrypting and
+# decoding are of course still separate and forbidden in Fedora.)
+for p in vcd mms; do
echo "removing $p input plugin..."
# Remove sources
for sourcefile in `awk '/^xineplug_inp_'$p'_la_SOURCES/ { $1=""; $2=""; print $0}' src/input/Makefile.am`; do
diff --git a/xine-lib.spec b/xine-lib.spec
index 17aedfa..2f2352c 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -26,7 +26,7 @@
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.21
-Release: 1%{?dist}
+Release: 2%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://www.xine-project.org/
@@ -47,6 +47,9 @@ Patch9: xine-lib-1.1.16.2-multilib.patch
Provides: xine-lib(plugin-abi) = %{plugin_abi}
%{?_isa:Provides: xine-lib(plugin-abi)%{?_isa} = %{plugin_abi}}
+# DVD plugin moved from there
+Conflicts: xine-lib-extras-freeworld < 1.1.21-3
+
BuildRequires: autoconf automake libtool
# X11
BuildRequires: libX11-devel
@@ -315,6 +318,7 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_bluray.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_cdda.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_dvb.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_dvd.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_file.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_http.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_net.so
@@ -375,6 +379,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Mon Jul 16 2012 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.21-2
+- do not remove DVD plugin, not encumbered (only uses libdvdread/libdvdnav)
+
* Tue Jun 12 2012 Xavier Bachelot <xavier(a)bachelot.org> 1.1.21-1
- Update to 1.1.21.
- Enable libbluray support.
commit ad948d47c8744b87933139840d6fcf8f268de682
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Sat Jun 23 05:32:58 2012 -0500
s/pulseaudio-lib-devel/pkgconfig(libpulse)/
or use pulseaudio-libs-devel these days, that old name was deprecated
long ago
diff --git a/xine-lib.spec b/xine-lib.spec
index 54d791b..17aedfa 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -79,13 +79,13 @@ BuildRequires: jack-audio-connection-kit-devel
BuildRequires: libmodplug-devel
BuildRequires: libmpcdec-devel
BuildRequires: libvorbis-devel
-BuildRequires: pulseaudio-lib-devel
BuildRequires: speex-devel
BuildRequires: wavpack-devel
# CDs
BuildRequires: libcdio-devel
# Other
BuildRequires: pkgconfig
+BuildRequires: pkgconfig(libpulse)
BuildRequires: gtk2-devel
BuildRequires: libsmbclient-devel
BuildRequires: libdvdnav-devel
commit 50ba62cfcd6d8622b4f6840b4b683efe2df3318d
Author: Kevin Kofler <kevin.kofler(a)chello.at>
Date: Sat Jun 23 12:01:23 2012 +0200
Update to 1.1.21, enable libbluray support
* Tue Jun 12 2012 Xavier Bachelot <xavier(a)bachelot.org> 1.1.21-1
- Update to 1.1.21.
- Enable libbluray support.
diff --git a/.gitignore b/.gitignore
index cd0f87f..6f9a840 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,3 +2,4 @@ xine-lib-1.1.19-autotools.patch.bz2
xine-lib-1.1.19-pruned.tar.bz2
/xine-lib-1.1.20-pruned.tar.xz
/xine-lib-1.1.20.1-pruned.tar.xz
+/xine-lib-1.1.21-pruned.tar.xz
diff --git a/sources b/sources
index d1fab77..cce5cd6 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-46d9f91395feb50237ac385aa6654b26 xine-lib-1.1.20.1-pruned.tar.xz
+121b82650df35c7d701586889edc9aab xine-lib-1.1.21-pruned.tar.xz
diff --git a/xine-lib.spec b/xine-lib.spec
index 51128a8..54d791b 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -25,8 +25,8 @@
Summary: A multimedia engine
Name: xine-lib
-Version: 1.1.20.1
-Release: 3%{?dist}
+Version: 1.1.21
+Release: 1%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://www.xine-project.org/
@@ -90,6 +90,7 @@ BuildRequires: gtk2-devel
BuildRequires: libsmbclient-devel
BuildRequires: libdvdnav-devel
BuildRequires: libdvdread-devel
+BuildRequires: libbluray-devel
# Dropped in Fedora 9
Obsoletes: xine-lib-arts < %{version}-%{release}
@@ -311,6 +312,7 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_yuv_frames.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_yuv4mpeg2.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_flac.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_bluray.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_cdda.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_dvb.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_file.so
@@ -373,6 +375,10 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Tue Jun 12 2012 Xavier Bachelot <xavier(a)bachelot.org> 1.1.21-1
+- Update to 1.1.21.
+- Enable libbluray support.
+
* Sat Mar 10 2012 Rex Dieter <rdieter(a)fedoraproject.org> 1.1.20.1-3
- rebuild (ImageMagick)
commit 175663444c00adbafa2bcb7b9f42fa836beade14
Author: Pavel Alexeev (aka Pahan-Hubbitus) <pahan(a)hubbitus.info>
Date: Sun Jun 3 02:09:52 2012 +0400
Rebuild for ImageMagick update http://lists.fedoraproject.org/pipermail/devel/2012-May/167462.html
diff --git a/xine-lib.spec b/xine-lib.spec
index 7bd8afb..5185c70 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -26,7 +26,7 @@
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.20.1
-Release: 1%{?dist}
+Release: 2%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://www.xine-project.org/
@@ -373,6 +373,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Sun Jun 3 2012 Pavel Alexeev <Pahan(a)Hubbitus.info> 1.1.20.1-2
+- Rebuild for ImageMagick update http://lists.fedoraproject.org/pipermail/devel/2012-May/167462.html
+
* Tue Jan 03 2012 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.20.1-1
- update to 1.1.20.1 (bugfix release)
- drop upstreamed link-libdvdread patch
commit 069aba18f74f62bf2f27b3fc35bf191ede1b0e03
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Sat Mar 10 08:16:20 2012 -0600
rebuild (ImageMagick)
diff --git a/xine-lib.spec b/xine-lib.spec
index 40ec7b2..51128a8 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -26,7 +26,7 @@
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.20.1
-Release: 2%{?dist}
+Release: 3%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://www.xine-project.org/
@@ -373,6 +373,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Sat Mar 10 2012 Rex Dieter <rdieter(a)fedoraproject.org> 1.1.20.1-3
+- rebuild (ImageMagick)
+
* Sat Jan 14 2012 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1.1.20.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
commit 3843e1c31bc7ea855f1687176162e954d7d48fc8
Author: Dennis Gilmore <dennis(a)ausil.us>
Date: Sat Jan 14 02:58:08 2012 -0600
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
diff --git a/xine-lib.spec b/xine-lib.spec
index 7bd8afb..40ec7b2 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -26,7 +26,7 @@
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.20.1
-Release: 1%{?dist}
+Release: 2%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://www.xine-project.org/
@@ -373,6 +373,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Sat Jan 14 2012 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1.1.20.1-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
+
* Tue Jan 03 2012 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.20.1-1
- update to 1.1.20.1 (bugfix release)
- drop upstreamed link-libdvdread patch
commit 4a6eed5ac591c6332b2677ed902c8d9634be313a
Author: Kevin Kofler <Kevin(a)tigcc.ticalc.org>
Date: Tue Jan 3 16:33:48 2012 +0100
Delete obsolete patch.
diff --git a/xine-lib-1.1.20-link-libdvdread.patch b/xine-lib-1.1.20-link-libdvdread.patch
deleted file mode 100644
index c714aad..0000000
--- a/xine-lib-1.1.20-link-libdvdread.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -ur xine-lib-1.1.20/configure.ac xine-lib-1.1.20-link-libdvdread/configure.ac
---- xine-lib-1.1.20/configure.ac 2011-11-13 02:36:20.000000000 +0100
-+++ xine-lib-1.1.20-link-libdvdread/configure.ac 2011-11-20 05:46:16.000000000 +0100
-@@ -1773,6 +1773,7 @@
- AM_PATH_DVDNAV(0.1.9,
- AC_DEFINE(HAVE_DVDNAV,1,[Define this if you have a suitable version of libdvdnav]),
- [AC_MSG_RESULT([*** no usable version of libdvdnav found, using internal copy ***])])
-+ AC_CHECK_LIB(dvdread, navRead_DSI, DVDNAV_LIBS="$DVDNAV_LIBS -ldvdread",)
- else
- AC_MSG_RESULT([Use included DVDNAV support])
- fi
commit 666fd2482ee8915d8828834d5951a8d86f7dc68b
Author: Kevin Kofler <Kevin(a)tigcc.ticalc.org>
Date: Tue Jan 3 16:15:22 2012 +0100
s/2011/2012/, duh…
diff --git a/xine-lib.spec b/xine-lib.spec
index 2921665..7bd8afb 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -373,7 +373,7 @@ rm -rf $RPM_BUILD_ROOT
%changelog
-* Tue Jan 03 2011 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.20.1-1
+* Tue Jan 03 2012 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.20.1-1
- update to 1.1.20.1 (bugfix release)
- drop upstreamed link-libdvdread patch
commit 831d52d6c33a1ef158930bb59d19d81be78a4096
Author: Kevin Kofler <Kevin(a)tigcc.ticalc.org>
Date: Tue Jan 3 16:12:20 2012 +0100
* Tue Jan 03 2011 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.20.1-1
- update to 1.1.20.1 (bugfix release)
- drop upstreamed link-libdvdread patch
diff --git a/.gitignore b/.gitignore
index 4d5df15..cd0f87f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
xine-lib-1.1.19-autotools.patch.bz2
xine-lib-1.1.19-pruned.tar.bz2
/xine-lib-1.1.20-pruned.tar.xz
+/xine-lib-1.1.20.1-pruned.tar.xz
diff --git a/sources b/sources
index cf0f1a3..d1fab77 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-0a916dc5456276402ab2002dd68ded50 xine-lib-1.1.20-pruned.tar.xz
+46d9f91395feb50237ac385aa6654b26 xine-lib-1.1.20.1-pruned.tar.xz
diff --git a/xine-lib.spec b/xine-lib.spec
index 38b18a9..2921665 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -25,7 +25,7 @@
Summary: A multimedia engine
Name: xine-lib
-Version: 1.1.20
+Version: 1.1.20.1
Release: 1%{?dist}
License: GPLv2+
Group: System Environment/Libraries
@@ -43,9 +43,6 @@ Patch1: xine-lib-1.1.4-optflags.patch
Patch8: xine-lib-1.1.17-avsync_hack.patch
# http://bugzilla.redhat.com/477226
Patch9: xine-lib-1.1.16.2-multilib.patch
-# fix system libdvdnav support to also link libdvdread
-# otherwise, we get unresolved symbols in the spudec plugin
-Patch10: xine-lib-1.1.20-link-libdvdread.patch
Provides: xine-lib(plugin-abi) = %{plugin_abi}
%{?_isa:Provides: xine-lib(plugin-abi)%{?_isa} = %{plugin_abi}}
@@ -146,7 +143,6 @@ rm -f configure ltmain.sh libtool m4/libtool.m4 m4/ltoptions.m4 m4/ltversion.m4
%patch1 -p1 -b .optflags
%patch8 -p1 -b .avsync_hack
%patch9 -p1 -b .multilib
-%patch10 -p1 -b .link-libdvdread
./autogen.sh noconfig
@@ -377,6 +373,10 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Tue Jan 03 2011 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.20.1-1
+- update to 1.1.20.1 (bugfix release)
+- drop upstreamed link-libdvdread patch
+
* Sun Nov 20 2011 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.20-1
- update to 1.1.20 (#753758)
- use .xz tarball
commit 838da37aa8bf874de45943593a8eb547fdd0a779
Author: Kevin Kofler <Kevin(a)tigcc.ticalc.org>
Date: Sun Nov 20 05:51:21 2011 +0100
- fix system libdvdnav support to also link libdvdread
diff --git a/xine-lib-1.1.20-link-libdvdread.patch b/xine-lib-1.1.20-link-libdvdread.patch
new file mode 100644
index 0000000..c714aad
--- /dev/null
+++ b/xine-lib-1.1.20-link-libdvdread.patch
@@ -0,0 +1,11 @@
+diff -ur xine-lib-1.1.20/configure.ac xine-lib-1.1.20-link-libdvdread/configure.ac
+--- xine-lib-1.1.20/configure.ac 2011-11-13 02:36:20.000000000 +0100
++++ xine-lib-1.1.20-link-libdvdread/configure.ac 2011-11-20 05:46:16.000000000 +0100
+@@ -1773,6 +1773,7 @@
+ AM_PATH_DVDNAV(0.1.9,
+ AC_DEFINE(HAVE_DVDNAV,1,[Define this if you have a suitable version of libdvdnav]),
+ [AC_MSG_RESULT([*** no usable version of libdvdnav found, using internal copy ***])])
++ AC_CHECK_LIB(dvdread, navRead_DSI, DVDNAV_LIBS="$DVDNAV_LIBS -ldvdread",)
+ else
+ AC_MSG_RESULT([Use included DVDNAV support])
+ fi
diff --git a/xine-lib.spec b/xine-lib.spec
index 1eaa0ef..38b18a9 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -43,6 +43,9 @@ Patch1: xine-lib-1.1.4-optflags.patch
Patch8: xine-lib-1.1.17-avsync_hack.patch
# http://bugzilla.redhat.com/477226
Patch9: xine-lib-1.1.16.2-multilib.patch
+# fix system libdvdnav support to also link libdvdread
+# otherwise, we get unresolved symbols in the spudec plugin
+Patch10: xine-lib-1.1.20-link-libdvdread.patch
Provides: xine-lib(plugin-abi) = %{plugin_abi}
%{?_isa:Provides: xine-lib(plugin-abi)%{?_isa} = %{plugin_abi}}
@@ -143,6 +146,7 @@ rm -f configure ltmain.sh libtool m4/libtool.m4 m4/ltoptions.m4 m4/ltversion.m4
%patch1 -p1 -b .optflags
%patch8 -p1 -b .avsync_hack
%patch9 -p1 -b .multilib
+%patch10 -p1 -b .link-libdvdread
./autogen.sh noconfig
@@ -382,6 +386,7 @@ rm -rf $RPM_BUILD_ROOT
- drop unused deepbind patch
- drop xvmclib_header patch, fixed upstream
- use the system libdvdnav (and libdvdread) instead of the bundled one
+- fix system libdvdnav support to also link libdvdread
- plugin ABI is now 1.30
* Fri Jul 15 2011 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.19-7
commit ce16711891c38ec1bbe5262c1b4259aac850e128
Author: Kevin Kofler <Kevin(a)tigcc.ticalc.org>
Date: Sun Nov 20 05:31:39 2011 +0100
It turns out libdvdnav IS used, in the spudec plugin.
(Or rather, it uses one file from it, which is now in libdvdread.)
diff --git a/xine-lib.spec b/xine-lib.spec
index 35ae72a..1eaa0ef 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -381,7 +381,7 @@ rm -rf $RPM_BUILD_ROOT
- drop autotools patch, run autogen.sh in %%prep instead
- drop unused deepbind patch
- drop xvmclib_header patch, fixed upstream
-- don't build the bundled libdvdnav (unused because DVD input is disabled)
+- use the system libdvdnav (and libdvdread) instead of the bundled one
- plugin ABI is now 1.30
* Fri Jul 15 2011 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.19-7
commit 5002673aba5c6dae60e097e83b245826bee6715f
Author: Kevin Kofler <Kevin(a)tigcc.ticalc.org>
Date: Sun Nov 20 04:56:23 2011 +0100
Remove config.log debugging. (It turns out that Samba has unresolved symbols.)
diff --git a/xine-lib.spec b/xine-lib.spec
index 944fbea..35ae72a 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -189,9 +189,6 @@ export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)"
--with-real-codecs-path=%{codecdir} \
--with-w32-path=%{codecdir}
-cat config.log
-exit 1
-
make %{?_smp_mflags}
commit a06944aa29a396eb128912ba268c1200c010e4e6
Author: Kevin Kofler <Kevin(a)tigcc.ticalc.org>
Date: Sun Nov 20 04:42:26 2011 +0100
Don't patch configure in the optflags patch since we regenerate it anyway.
diff --git a/xine-lib-1.1.4-optflags.patch b/xine-lib-1.1.4-optflags.patch
index a76864a..72540f6 100644
--- a/xine-lib-1.1.4-optflags.patch
+++ b/xine-lib-1.1.4-optflags.patch
@@ -9,14 +9,3 @@
archopt_val=
case "$host_or_hostalias" in
---- xine-lib-1.1.4/configure~ 2007-01-30 23:02:56.000000000 +0200
-+++ xine-lib-1.1.4/configure 2007-01-30 23:03:40.000000000 +0200
-@@ -47754,7 +47754,7 @@
-
- DEBUG_CFLAGS="-O $DEBUG_CFLAGS"
-
-- if test x"$sarchopt" != "xno"; then
-+ if false ; then
- archopt_val=
-
- case "$host_or_hostalias" in
commit 4b30f13d69768cb66f0ee64bf29f7c04ac595d54
Author: Kevin Kofler <Kevin(a)tigcc.ticalc.org>
Date: Sun Nov 20 04:30:29 2011 +0100
- don't build the bundled libdvdnav (unused because DVD input is disabled)
- plugin ABI is now 1.30
- cat config.log and exit 1 to debug smbc_init detection issue
diff --git a/xine-lib.spec b/xine-lib.spec
index 3bdf3b8..944fbea 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -2,7 +2,7 @@
# - libstk: http://www.libstk.net/ - probably not, see 1.1.5 ChangeLog
# - drop the opengl video out plugin?
-%define plugin_abi 1.29
+%define plugin_abi 1.30
%define codecdir %{_libdir}/codecs
%ifarch %{ix86}
@@ -140,22 +140,12 @@ This package contains extra plugins for %{name}:
%patch0 -p1 -b .no_autopoint
# extra work for to omit old libtool-related crud
rm -f configure ltmain.sh libtool m4/libtool.m4 m4/ltoptions.m4 m4/ltversion.m4
-./autogen.sh noconfig
-rm -rf autom4te.cache *~
-touch -r configure.ac aclocal.m4
-touch -r m4/optimizations.m4 m4/optimizations.m4.stamp
%patch1 -p1 -b .optflags
-touch -r m4/optimizations.m4.stamp m4/optimizations.m4
%patch8 -p1 -b .avsync_hack
%patch9 -p1 -b .multilib
-# autotools patch + touch'ing above seems to miss something, aclocal
-# runs on make anyway, let's use the ./autogen.sh hammer for now.
./autogen.sh noconfig
-#Avoid standard rpaths on lib64 archs: (autotools patch handles this too)
-#sed -i -e 's|"/lib /usr/lib\b|"/%{_lib} %{_libdir}|' configure
-
%build
export FFMPEG_CFLAGS=" " FFMPEG_LIBS=" "
@@ -187,6 +177,7 @@ export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)"
%endif # freetype
--with-caca \
--with-external-ffmpeg \
+ --with-external-dvdnav \
--with-xv-path=%{_libdir} \
--with-libflac \
--with-external-libmpcdec \
@@ -198,6 +189,9 @@ export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)"
--with-real-codecs-path=%{codecdir} \
--with-w32-path=%{codecdir}
+cat config.log
+exit 1
+
make %{?_smp_mflags}
@@ -390,6 +384,8 @@ rm -rf $RPM_BUILD_ROOT
- drop autotools patch, run autogen.sh in %%prep instead
- drop unused deepbind patch
- drop xvmclib_header patch, fixed upstream
+- don't build the bundled libdvdnav (unused because DVD input is disabled)
+- plugin ABI is now 1.30
* Fri Jul 15 2011 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.19-7
- rebuild for new DirectFB (1.5.0)
commit 809c5f3c59b688b83cca49f4831ec373fe84f2cd
Author: Kevin Kofler <Kevin(a)tigcc.ticalc.org>
Date: Sun Nov 20 03:12:42 2011 +0100
- drop xvmclib_header patch, fixed upstream
diff --git a/xine-lib-1.1.19-xvmclib_header.patch b/xine-lib-1.1.19-xvmclib_header.patch
deleted file mode 100644
index 880250c..0000000
--- a/xine-lib-1.1.19-xvmclib_header.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -up xine-lib-1.1.19/src/video_out/xxmc.h.ftbfs xine-lib-1.1.19/src/video_out/xxmc.h
---- xine-lib-1.1.19/src/video_out/xxmc.h.ftbfs 2010-03-09 16:17:05.000000000 -0600
-+++ xine-lib-1.1.19/src/video_out/xxmc.h 2011-01-24 08:48:28.516631749 -0600
-@@ -79,6 +79,7 @@
- #include <X11/extensions/Xvlib.h>
- #ifdef HAVE_VLDXVMC
- #include <X11/extensions/vldXvMC.h>
-+ #include <X11/extensions/XvMClib.h>
- #else
- #include <X11/extensions/XvMClib.h>
- #include <X11/extensions/XvMC.h>
diff --git a/xine-lib.spec b/xine-lib.spec
index 798ba4e..3bdf3b8 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -43,10 +43,6 @@ Patch1: xine-lib-1.1.4-optflags.patch
Patch8: xine-lib-1.1.17-avsync_hack.patch
# http://bugzilla.redhat.com/477226
Patch9: xine-lib-1.1.16.2-multilib.patch
-## upstreamable patches
-# fixes ftbfs for xvmc header reshuffling
-Patch50: xine-lib-1.1.19-xvmclib_header.patch
-## upstream patches
Provides: xine-lib(plugin-abi) = %{plugin_abi}
%{?_isa:Provides: xine-lib(plugin-abi)%{?_isa} = %{plugin_abi}}
@@ -152,7 +148,6 @@ touch -r m4/optimizations.m4 m4/optimizations.m4.stamp
touch -r m4/optimizations.m4.stamp m4/optimizations.m4
%patch8 -p1 -b .avsync_hack
%patch9 -p1 -b .multilib
-%patch50 -p1 -b .xvmclib_header
# autotools patch + touch'ing above seems to miss something, aclocal
# runs on make anyway, let's use the ./autogen.sh hammer for now.
@@ -394,6 +389,7 @@ rm -rf $RPM_BUILD_ROOT
- drop ESD (esound) support on F17+ (native PulseAudio just works)
- drop autotools patch, run autogen.sh in %%prep instead
- drop unused deepbind patch
+- drop xvmclib_header patch, fixed upstream
* Fri Jul 15 2011 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.19-7
- rebuild for new DirectFB (1.5.0)
commit ad825765e9a9b162b49e1c6d0197bbdbd6f000e1
Author: Kevin Kofler <Kevin(a)tigcc.ticalc.org>
Date: Sun Nov 20 03:00:42 2011 +0100
Delete unused deepbind patch.
diff --git a/xine-lib-1.1.1-deepbind-939.patch b/xine-lib-1.1.1-deepbind-939.patch
deleted file mode 100644
index b04400b..0000000
--- a/xine-lib-1.1.1-deepbind-939.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- xine-lib-1.1.1/src/xine-engine/load_plugins.c.~1~ 2005-09-19 09:14:02.000000000 -0700
-+++ xine-lib-1.1.1/src/xine-engine/load_plugins.c 2006-04-22 23:07:33.000000000 -0700
-@@ -591,7 +591,7 @@ static void collect_plugins(xine_t *this
- printf("load_plugins: %s not cached\n", str);
- #endif
-
-- if(!info && (lib = dlopen (str, RTLD_LAZY | RTLD_GLOBAL)) == NULL) {
-+ if(!info && (lib = dlopen (str, RTLD_LAZY | RTLD_GLOBAL | RTLD_DEEPBIND)) == NULL) {
- const char *error = dlerror();
- /* too noisy -- but good to catch unresolved references */
- xprintf(this, XINE_VERBOSITY_LOG,
-@@ -649,7 +649,7 @@ static int _load_plugin_class(xine_t *th
- /* load the dynamic library if needed */
- if (!node->file->lib_handle) {
- lprintf("dlopen %s\n", filename);
-- if ((lib = dlopen (filename, RTLD_LAZY | RTLD_GLOBAL)) == NULL) {
-+ if ((lib = dlopen (filename, RTLD_LAZY | RTLD_GLOBAL | RTLD_DEEPBIND)) == NULL) {
- const char *error = dlerror();
-
- xine_log (this, XINE_LOG_PLUGIN,
commit f955cb1ab13016fa3fb3a680725522905f34c3d1
Author: Kevin Kofler <Kevin(a)tigcc.ticalc.org>
Date: Sun Nov 20 02:58:05 2011 +0100
* Sun Nov 20 2011 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.20-1
- update to 1.1.20 (#753758)
- use .xz tarball
- drop old conditionals
- drop ESD (esound) support on F17+ (native PulseAudio just works)
- drop autotools patch, run autogen.sh in %%prep instead
- drop unused deepbind patch
diff --git a/.gitignore b/.gitignore
index de99961..4d5df15 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
xine-lib-1.1.19-autotools.patch.bz2
xine-lib-1.1.19-pruned.tar.bz2
+/xine-lib-1.1.20-pruned.tar.xz
diff --git a/sources b/sources
index 7be858d..cf0f1a3 100644
--- a/sources
+++ b/sources
@@ -1,2 +1 @@
-1a77122fa938a3f8cb85cef231236c39 xine-lib-1.1.19-autotools.patch.bz2
-552e3e38f1afb77428f6aaa08e13b0d2 xine-lib-1.1.19-pruned.tar.bz2
+0a916dc5456276402ab2002dd68ded50 xine-lib-1.1.20-pruned.tar.xz
diff --git a/xine-lib-mk-autotools-patch.sh b/xine-lib-mk-autotools-patch.sh
deleted file mode 100644
index 3cb6d1a..0000000
--- a/xine-lib-mk-autotools-patch.sh
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/bin/sh
-
-# be sure to have all build deps + libtool installed before running this
-
-set -e
-
-if [ -z "$1" -o $# -ne 1 ]; then
- echo "Usage: $0 <xine-lib-version>"
- exit 2
-fi
-
-version=$1
-
-# missing dependency on autoconf >= (apparently) 2.61 in upstream autofoo files
-acversion="$(rpm -q --qf=%{VERSION} autoconf)"
-case $acversion in
- 2.6*) ;;
- *) echo "ERROR: autoconf >= 2.61 required" ; exit 1 ;;
-esac
-
-rm -rf xine-lib-$version xine-lib-$version-pruned
-tar jxf xine-lib-$version-pruned.tar.bz2
-cp -a xine-lib-$version xine-lib-$version-pruned
-
-pushd xine-lib-$version
-patch -p1 < ../xine-lib-${version}-no_autopoint.patch
-# extra work for to omit old libtool-related crud
-rm -f configure ltmain.sh libtool m4/libtool.m4 m4/ltoptions.m4 m4/ltversion.m4
-./autogen.sh noconfig
-rm -rf autom4te.cache *~
-popd
-
-diff -Nru xine-lib-$version-pruned xine-lib-$version \
-| bzip2 --best > xine-lib-$version-autotools.patch.bz2
diff --git a/xine-lib.spec b/xine-lib.spec
index b47ff84..798ba4e 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -1,7 +1,6 @@
# TODO, sometime, maybe:
# - libstk: http://www.libstk.net/ - probably not, see 1.1.5 ChangeLog
# - drop the opengl video out plugin?
-# - deprecate ESD support?
%define plugin_abi 1.29
%define codecdir %{_libdir}/codecs
@@ -12,61 +11,34 @@
%define have_vidix 0
%endif # ix86
-%if 0%{?fedora}
-%define _disable_gnomevfs --disable-gnomevfs
-%define with_aalib %{?_without_aalib:0}%{!?_without_aalib:1}
-%else
-%define with_aalib %{?_with_aalib:1}%{!?_with_aalib:0}
-%endif # Fedora
-
-%define _enable_xvmc --enable-xvmc
-%if 0%{?rhel} > 5
-%ifarch ppc64
-%undefine _enable_xvmc
-%endif
-%endif
-
-%ifarch %{arm}
+%ifarch %{arm}
%define _without_directfb 1
%endif
-%if 0%{?fedora} > 8 || 0%{?rhel} > 5
-%define _enable_v4l --enable-v4l
-%define _enable_libv4l --enable-libv4l
-%define _without_arts --without-arts
-%define _with_pa %{?_without_pulseaudio:0}%{!?_without_pulseaudio:1}
-%define _with_xcb %{?_without_xcb:0}%{!?_without_xcb:1}
-%endif
-
-%if 0%{?fedora} > 14
+%if 0%{?fedora} > 14
%define _disable_v4l1 1
%endif
-%if 0%{?fedora} > 11 || 0%{?rhel} > 5
-%define pa_in_main 1
+%if 0%{?fedora} > 16
+%define _without_esound 1
%endif
-Summary: A multimedia engine
+Summary: A multimedia engine
Name: xine-lib
-Version: 1.1.19
-Release: 7%{?dist}
+Version: 1.1.20
+Release: 1%{?dist}
License: GPLv2+
Group: System Environment/Libraries
-URL: http://www.xine-project.org/
+URL: http://www.xine-project.org/
# The tarball is generated from the upstream tarball using
# the script in SOURCE1. It prunes potentially patented code
-#Source0: http://downloads.sourceforge.net/xine/xine-lib-%{version}.tar.bz2
-Source0: xine-lib-%{version}-pruned.tar.bz2
+#Source0: http://downloads.sourceforge.net/xine/xine-lib-%{version}.tar.xz
+Source0: xine-lib-%{version}-pruned.tar.xz
Source1: xine-lib-cleanup-sources.sh
-Source2: xine-lib-mk-autotools-patch.sh
-# autotools patch created with source2
-Patch0: xine-lib-%{version}-autotools.patch.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+Patch0: xine-lib-1.1.19-no_autopoint.patch
Patch1: xine-lib-1.1.4-optflags.patch
-# used to help
-Patch2: xine-lib-%{version}-no_autopoint.patch
-Patch6: xine-lib-1.1.1-deepbind-939.patch
# http://bugzilla.redhat.com/470568
Patch8: xine-lib-1.1.17-avsync_hack.patch
# http://bugzilla.redhat.com/477226
@@ -79,71 +51,56 @@ Patch50: xine-lib-1.1.19-xvmclib_header.patch
Provides: xine-lib(plugin-abi) = %{plugin_abi}
%{?_isa:Provides: xine-lib(plugin-abi)%{?_isa} = %{plugin_abi}}
-BuildRequires: automake libtool
+BuildRequires: autoconf automake libtool
# X11
BuildRequires: libX11-devel
BuildRequires: libXv-devel
BuildRequires: libXinerama-devel
-%{?_enable_xvmc:BuildRequires: libXvMC-devel}
+BuildRequires: libXvMC-devel
BuildRequires: libGLU-devel
-%if 0%{?_enable_libv4l:1}
BuildRequires: libv4l-devel
-%endif
-%if 0%{?_with_xcb:1}
BuildRequires: libxcb-devel
-%endif # xcb
# Video
BuildRequires: SDL-devel
BuildRequires: libtheora-devel
BuildRequires: libmng-devel
-%if %{with_aalib}
BuildRequires: aalib-devel >= 1.4
-%endif # aalib
BuildRequires: libcaca-devel >= 0.99-0.5.beta14
%if 0%{!?_without_directfb:1}
BuildRequires: directfb-devel
%endif # directfb
-%if 0%{!?_without_imagemagick:1}
BuildRequires: ImageMagick-devel >= 6.2.4.6-1
-%endif # imagemagick
%if 0%{?_with_freetype:1}
BuildRequires: fontconfig-devel
%endif # freetype
# Audio
BuildRequires: alsa-lib-devel >= 0.9.0
+%if 0%{!?_without_esound:1}
BuildRequires: esound-devel
+%endif # esound
BuildRequires: flac-devel
BuildRequires: jack-audio-connection-kit-devel
BuildRequires: libmodplug-devel
BuildRequires: libmpcdec-devel
BuildRequires: libvorbis-devel
-%if 0%{?_with_pa:1}
BuildRequires: pulseaudio-lib-devel
-%endif # pa
BuildRequires: speex-devel
-%if 0%{?_without_arts:1}
-Obsoletes: xine-lib-arts < %{version}-%{release}
-%else
-BuildRequires: arts-devel
-%endif
BuildRequires: wavpack-devel
# CDs
BuildRequires: libcdio-devel
# Other
BuildRequires: pkgconfig
BuildRequires: gtk2-devel
-%if 0%{?fedora} > 6 || 0%{?rhel} > 5
BuildRequires: libsmbclient-devel
-%else
-BuildRequires: samba-common
-%endif
BuildRequires: libdvdnav-devel
BuildRequires: libdvdread-devel
-%if 0%{?pa_in_main}
+# Dropped in Fedora 9
+Obsoletes: xine-lib-arts < %{version}-%{release}
+
+# Included in main package since Fedora 12
Obsoletes: xine-lib-pulseaudio < 1.1.16.3-5
Provides: xine-lib-pulseaudio = %{version}-%{release}
-%endif
%description
This package contains the Xine library. It can be used to play back
@@ -160,21 +117,6 @@ Requires: zlib-devel
%description devel
This package contains development files for %{name}.
-%package arts
-Summary: aRts plugin for %{name}
-Group: System Environment/Libraries
-Requires: %{name}%{?_isa} = %{version}-%{release}
-#Requires: xine-lib(plugin-abi) = %{plugin_abi}
-%description arts
-This package contains the aRts plugin for %{name}.
-
-%package pulseaudio
-Summary: Pulseaudio plugin for %{name}
-Group: System Environment/Libraries
-Requires: %{name}%{?_isa} = %{version}-%{release}
-%description pulseaudio
-This package contains the pulseaudio plugin for %{name}.
-
%package extras
Summary: Additional plugins for %{name}
Group: System Environment/Libraries
@@ -182,21 +124,16 @@ Requires: %{name}%{?_isa} = %{version}-%{release}
#Requires: xine-lib(plugin-abi) = %{plugin_abi}
%description extras
This package contains extra plugins for %{name}:
+%if 0%{!?_without_esound:1}
- EsounD
+%endif # esound
- JACK
- GDK-Pixbuf
-%if ! 0%{?_disable_gnomevfs:1}
- - GNOME VFS
-%endif
- SMB
- SDL
-%if %{with_aalib}
- AA-lib
-%endif # aalib
- Libcaca
-%if 0%{!?_without_imagemagick:1}
- Image decoding
-%endif # imagemagick
%if 0%{!?_without_directfb:1}
- DirectFB output
%endif # directfb
@@ -204,14 +141,15 @@ This package contains extra plugins for %{name}:
%prep
%setup -q
-%patch0 -p1 -b .autotools
+%patch0 -p1 -b .no_autopoint
+# extra work for to omit old libtool-related crud
+rm -f configure ltmain.sh libtool m4/libtool.m4 m4/ltoptions.m4 m4/ltversion.m4
+./autogen.sh noconfig
+rm -rf autom4te.cache *~
touch -r configure.ac aclocal.m4
touch -r m4/optimizations.m4 m4/optimizations.m4.stamp
%patch1 -p1 -b .optflags
touch -r m4/optimizations.m4.stamp m4/optimizations.m4
-# needed at least when compiling with external ffmpeg and internal faad livna bug#939.
-# see also http://bugzilla.redhat.com/480504 for side-effects
-#patch6 -p1 -b .deepbind
%patch8 -p1 -b .avsync_hack
%patch9 -p1 -b .multilib
%patch50 -p1 -b .xvmclib_header
@@ -236,10 +174,10 @@ export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)"
%if 0%{!?_without_directfb:1}
--enable-directfb \
%endif # directfb
- %{?_enable_v4l}%{!?_enable_v4l:--disable-v4l} \
- %{?_enable_libv4l}%{!?_enable_libv4l:--disable-libv4l} \
- %{?_enable_xvmc}%{!?_enable_xvmc:--disable-xvmc} \
- %{?_disable_gnomevfs} \
+ --enable-v4l \
+ --enable-libv4l \
+ --enable-xvmc \
+ --disable-gnomevfs \
--disable-a52dec \
--disable-mad \
--disable-vcd \
@@ -248,19 +186,19 @@ export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)"
%if 0%{?_with_freetype:1}
%if 0%{?_with_antialiasing:1}
--enable-antialiasing \
- --with-caca \
%endif # antialiasing
--with-freetype \
--with-fontconfig \
%endif # freetype
+ --with-caca \
--with-external-ffmpeg \
--with-xv-path=%{_libdir} \
--with-libflac \
--with-external-libmpcdec \
-%if 0%{?_without_imagemagick:1}
- --without-imagemagick \
-%endif # imagemagick
- %{!?_without_arts:--with-arts} %{?_without_arts} \
+ --without-arts \
+%if 0%{?_without_esound:1}
+ --without-esound \
+%endif
--with-wavpack \
--with-real-codecs-path=%{codecdir} \
--with-w32-path=%{codecdir}
@@ -339,6 +277,7 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_file.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_none.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_oss.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_pulseaudio.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_bitplane.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_gsm610.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_lpcm.so
@@ -395,13 +334,11 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_rtp.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_rtsp.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_stdin_fifo.so
-%if 0%{?_enable_v4l:1}
%if ! 0%{?_disable_v4l1:1}
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_pvr.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_v4l.so
%endif
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_v4l2.so
-%endif
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_fb.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_none.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_opengl.so
@@ -410,44 +347,24 @@ rm -rf $RPM_BUILD_ROOT
%if %{have_vidix}
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_vidix.so
%endif # vidix
-%if 0%{?_with_xcb:1}
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xcbshm.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xcbxv.so
-%endif # xcb
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xshm.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xv.so
-%if 0%{?_enable_xvmc:1}
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xvmc.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xxmc.so
-%endif
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_wavpack.so
-%if 0%{?_with_pa:1}
-%if ! 0%{?pa_in_main}
-%files pulseaudio
-%defattr(-,root,root,-)
-%endif
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_pulseaudio.so
-%endif
-
-%if 0%{!?_without_arts:1}
-%files arts
-%defattr(-,root,root,-)
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_arts.so
-%endif
-
%files extras
%defattr(-,root,root,-)
+%if 0%{!?_without_esound:1}
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_esd.so
+%endif # esound
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_jack.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_gdk_pixbuf.so
-%if 0%{!?_without_imagemagick:1}
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_image.so
-%endif # imagemagick
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_smb.so
-%if %{with_aalib}
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_aa.so
-%endif # aalib
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_caca.so
%if 0%{!?_without_directfb:1}
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_directfb.so
@@ -470,6 +387,14 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Sun Nov 20 2011 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.20-1
+- update to 1.1.20 (#753758)
+- use .xz tarball
+- drop old conditionals
+- drop ESD (esound) support on F17+ (native PulseAudio just works)
+- drop autotools patch, run autogen.sh in %%prep instead
+- drop unused deepbind patch
+
* Fri Jul 15 2011 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.19-7
- rebuild for new DirectFB (1.5.0)
commit 7a494c091c9b8764003f880428e1d68f198d455a
Author: Kevin Kofler <Kevin(a)tigcc.ticalc.org>
Date: Sun Nov 20 02:01:49 2011 +0100
xine-lib-cleanup-sources.sh: Remove patches for forbidden libraries.
While they don't seem to contain any actually encumbered code, I feel it's safer
to not have them in there. They're useless for us in any case.
diff --git a/xine-lib-cleanup-sources.sh b/xine-lib-cleanup-sources.sh
index 1ccd7cc..6a1aa82 100755
--- a/xine-lib-cleanup-sources.sh
+++ b/xine-lib-cleanup-sources.sh
@@ -76,6 +76,8 @@ sed -i -e '/^xineplug_decode_nsf_la/,/^\s*$/d' \
-e 's/ nosefart//' \
src/libxineadec/Makefile.am
sed -i -e '/nosefart\/Makefile/d' configure.ac
+# Patches for forbidden libraries
+rm -fv misc/lib*.patch win32/scripts/*.patch
# All clean !
commit 23f22cd378b4b2a44ea7e0c766d186995965cb1d
Author: Kevin Kofler <Kevin(a)tigcc.ticalc.org>
Date: Sun Nov 20 01:55:58 2011 +0100
xine-lib-cleanup-sources.sh: Fix removing unwanted input plugin files.
EXTRA_DIST is not an actual use of the file.
diff --git a/xine-lib-cleanup-sources.sh b/xine-lib-cleanup-sources.sh
index 1cabc9c..1ccd7cc 100755
--- a/xine-lib-cleanup-sources.sh
+++ b/xine-lib-cleanup-sources.sh
@@ -48,7 +48,7 @@ for p in dvd vcd mms; do
echo "removing $p input plugin..."
# Remove sources
for sourcefile in `awk '/^xineplug_inp_'$p'_la_SOURCES/ { $1=""; $2=""; print $0}' src/input/Makefile.am`; do
- if [ "`grep -c $sourcefile src/input/Makefile.am`" -le 1 ]; then # if this file is only used for this plugin
+ if [ "`grep -v '^EXTRA_DIST = ' src/input/Makefile.am | grep -c $sourcefile`" -le 1 ]; then # if this file is only used for this plugin
rm -f src/input/$sourcefile
fi
done
commit c02680866f0435267e45c45280a7fd598bc103d3
Author: Kevin Kofler <Kevin(a)tigcc.ticalc.org>
Date: Sun Nov 20 01:47:21 2011 +0100
xine-lib-cleanup-sources.sh: Also remove libmpeg2new.
diff --git a/xine-lib-cleanup-sources.sh b/xine-lib-cleanup-sources.sh
index f7ba13e..1cabc9c 100755
--- a/xine-lib-cleanup-sources.sh
+++ b/xine-lib-cleanup-sources.sh
@@ -30,7 +30,7 @@ rmpluglib()
}
# Main libraries
-for remove in libfaad libffmpeg libmad libmpeg2 dxr3 liba52 libdts; do
+for remove in libfaad libffmpeg libmad libmpeg2 libmpeg2new dxr3 liba52 libdts; do
echo "removing src/$remove..."
rm -rf src/$remove
sed -i -e "/$remove/d" src/Makefile.am
commit fffc4c3b90583bc0decf855fb60319bda8f64753
Author: Kevin Kofler <Kevin(a)tigcc.ticalc.org>
Date: Sun Nov 20 01:40:14 2011 +0100
xine-lib-cleanup-sources.sh: Use .xz tarballs.
diff --git a/xine-lib-cleanup-sources.sh b/xine-lib-cleanup-sources.sh
index 31cff0f..f7ba13e 100755
--- a/xine-lib-cleanup-sources.sh
+++ b/xine-lib-cleanup-sources.sh
@@ -6,9 +6,9 @@ if [ -z "$1" -o $# -ne 1 ]; then
fi
version=$1
-tarball="xine-lib-$version.tar.bz2"
+tarball="xine-lib-$version.tar.xz"
dir="xine-lib-$version"
-modtarball="xine-lib-$version-pruned.tar.bz2"
+modtarball="xine-lib-$version-pruned.tar.xz"
if [ ! -f $tarball ]; then
@@ -18,7 +18,7 @@ fi
echo "Uncompressing $tarball..."
rm -rf $dir
-tar -xjf $tarball
+tar -xJf $tarball
cd $dir
rmpluglib()
@@ -81,5 +81,5 @@ sed -i -e '/nosefart\/Makefile/d' configure.ac
cd ..
echo "Generating $modtarball..."
-tar -cjf $modtarball $dir
+tar -cJf $modtarball $dir
rm -rf $dir
commit fc45a321b84f471a440fe28fe92791b1c89e5c00
Author: Kevin Kofler <Kevin(a)tigcc.ticalc.org>
Date: Fri Jul 15 18:34:40 2011 +0200
* Fri Jul 15 2011 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.19-7
- rebuild for new DirectFB (1.5.0)
diff --git a/xine-lib.spec b/xine-lib.spec
index 087da2c..b47ff84 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -49,7 +49,7 @@
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.19
-Release: 6%{?dist}
+Release: 7%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://www.xine-project.org/
@@ -470,6 +470,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Fri Jul 15 2011 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.19-7
+- rebuild for new DirectFB (1.5.0)
+
* Mon Feb 14 2011 Rex Dieter <rdieter(a)fedoraproject.org> 1.1.19-6
- split v4l, libv4l handling
- omit v4l(1) bits (f15+)
commit ecb7e8977815b8feca645fbc7ae618d8d9b09913
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Mon Feb 14 10:45:46 2011 -0600
another approach, disabling v4l support hammers both v4l1 and v4l2
diff --git a/xine-lib.spec b/xine-lib.spec
index 726c3c0..087da2c 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -39,7 +39,7 @@
%endif
%if 0%{?fedora} > 14
-%undefine _enable_v4l
+%define _disable_v4l1 1
%endif
%if 0%{?fedora} > 11 || 0%{?rhel} > 5
@@ -283,6 +283,12 @@ rm -Rf $RPM_BUILD_ROOT%{_libdir}/libxine.la __docs/README \
# Directory for binary codecs
mkdir -p $RPM_BUILD_ROOT%{codecdir}
+# unpackaged files
+%if 0%{?_disable_v4l1:1}
+rm -fv $RPM_BUILD_ROOT%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_pvr.so
+rm -fv $RPM_BUILD_ROOT%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_v4l.so
+%endif
+
%clean
rm -rf $RPM_BUILD_ROOT
@@ -390,10 +396,10 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_rtsp.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_stdin_fifo.so
%if 0%{?_enable_v4l:1}
+%if ! 0%{?_disable_v4l1:1}
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_pvr.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_v4l.so
%endif
-%if 0%{?_enable_libv4l:1)
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_v4l2.so
%endif
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_fb.so
commit 0f41a42622a2890712568d49eeb4bd286ddc56ad
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Mon Feb 14 08:56:29 2011 -0600
- omit v4l(1) bits (f15+)
diff --git a/xine-lib.spec b/xine-lib.spec
index b43f805..726c3c0 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -38,6 +38,10 @@
%define _with_xcb %{?_without_xcb:0}%{!?_without_xcb:1}
%endif
+%if 0%{?fedora} > 14
+%undefine _enable_v4l
+%endif
+
%if 0%{?fedora} > 11 || 0%{?rhel} > 5
%define pa_in_main 1
%endif
@@ -462,6 +466,7 @@ rm -rf $RPM_BUILD_ROOT
%changelog
* Mon Feb 14 2011 Rex Dieter <rdieter(a)fedoraproject.org> 1.1.19-6
- split v4l, libv4l handling
+- omit v4l(1) bits (f15+)
* Mon Feb 07 2011 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1.1.19-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
commit 4c0623f6462211f3bd512edce7139e0be847a783
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Mon Feb 14 08:25:29 2011 -0600
- split v4l, libv4l handling
diff --git a/xine-lib.spec b/xine-lib.spec
index b69280e..b43f805 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -31,7 +31,8 @@
%endif
%if 0%{?fedora} > 8 || 0%{?rhel} > 5
-%define _enable_v4l --enable-v4l --enable-libv4l
+%define _enable_v4l --enable-v4l
+%define _enable_libv4l --enable-libv4l
%define _without_arts --without-arts
%define _with_pa %{?_without_pulseaudio:0}%{!?_without_pulseaudio:1}
%define _with_xcb %{?_without_xcb:0}%{!?_without_xcb:1}
@@ -44,7 +45,7 @@
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.19
-Release: 5%{?dist}
+Release: 6%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://www.xine-project.org/
@@ -81,7 +82,7 @@ BuildRequires: libXv-devel
BuildRequires: libXinerama-devel
%{?_enable_xvmc:BuildRequires: libXvMC-devel}
BuildRequires: libGLU-devel
-%if 0%{?_enable_v4l:1}
+%if 0%{?_enable_libv4l:1}
BuildRequires: libv4l-devel
%endif
%if 0%{?_with_xcb:1}
@@ -231,7 +232,8 @@ export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)"
%if 0%{!?_without_directfb:1}
--enable-directfb \
%endif # directfb
- %{?_enable_v4l}%{!?_enable_v4l:--disable-v4l --disable-libv4l} \
+ %{?_enable_v4l}%{!?_enable_v4l:--disable-v4l} \
+ %{?_enable_libv4l}%{!?_enable_libv4l:--disable-libv4l} \
%{?_enable_xvmc}%{!?_enable_xvmc:--disable-xvmc} \
%{?_disable_gnomevfs} \
--disable-a52dec \
@@ -386,6 +388,8 @@ rm -rf $RPM_BUILD_ROOT
%if 0%{?_enable_v4l:1}
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_pvr.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_v4l.so
+%endif
+%if 0%{?_enable_libv4l:1)
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_v4l2.so
%endif
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_fb.so
@@ -456,6 +460,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Mon Feb 14 2011 Rex Dieter <rdieter(a)fedoraproject.org> 1.1.19-6
+- split v4l, libv4l handling
+
* Mon Feb 07 2011 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1.1.19-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
commit 941d67e1e4beec7b114b368638958cdc1b80f964
Author: Dennis Gilmore <dennis(a)ausil.us>
Date: Mon Feb 7 23:14:53 2011 -0600
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
diff --git a/xine-lib.spec b/xine-lib.spec
index 771fe4d..b69280e 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -44,7 +44,7 @@
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.19
-Release: 4%{?dist}
+Release: 5%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://www.xine-project.org/
@@ -456,6 +456,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Mon Feb 07 2011 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1.1.19-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
+
* Mon Jan 24 2011 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.19-4
- xvmclib header changes, fixes ftbfs (#635653,#661071)
commit af04f9092826764b0a5cf430e986d86e11f0cc7c
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Mon Jan 24 08:55:18 2011 -0600
- xvmclib header changes, fixes ftbfs (#635653,#661071)
diff --git a/xine-lib-1.1.19-xvmclib_header.patch b/xine-lib-1.1.19-xvmclib_header.patch
new file mode 100644
index 0000000..880250c
--- /dev/null
+++ b/xine-lib-1.1.19-xvmclib_header.patch
@@ -0,0 +1,11 @@
+diff -up xine-lib-1.1.19/src/video_out/xxmc.h.ftbfs xine-lib-1.1.19/src/video_out/xxmc.h
+--- xine-lib-1.1.19/src/video_out/xxmc.h.ftbfs 2010-03-09 16:17:05.000000000 -0600
++++ xine-lib-1.1.19/src/video_out/xxmc.h 2011-01-24 08:48:28.516631749 -0600
+@@ -79,6 +79,7 @@
+ #include <X11/extensions/Xvlib.h>
+ #ifdef HAVE_VLDXVMC
+ #include <X11/extensions/vldXvMC.h>
++ #include <X11/extensions/XvMClib.h>
+ #else
+ #include <X11/extensions/XvMClib.h>
+ #include <X11/extensions/XvMC.h>
diff --git a/xine-lib.spec b/xine-lib.spec
index 09ee7d2..771fe4d 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -44,7 +44,7 @@
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.19
-Release: 3%{?dist}
+Release: 4%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://www.xine-project.org/
@@ -67,6 +67,8 @@ Patch8: xine-lib-1.1.17-avsync_hack.patch
# http://bugzilla.redhat.com/477226
Patch9: xine-lib-1.1.16.2-multilib.patch
## upstreamable patches
+# fixes ftbfs for xvmc header reshuffling
+Patch50: xine-lib-1.1.19-xvmclib_header.patch
## upstream patches
Provides: xine-lib(plugin-abi) = %{plugin_abi}
@@ -207,6 +209,7 @@ touch -r m4/optimizations.m4.stamp m4/optimizations.m4
#patch6 -p1 -b .deepbind
%patch8 -p1 -b .avsync_hack
%patch9 -p1 -b .multilib
+%patch50 -p1 -b .xvmclib_header
# autotools patch + touch'ing above seems to miss something, aclocal
# runs on make anyway, let's use the ./autogen.sh hammer for now.
@@ -453,6 +456,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Mon Jan 24 2011 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.19-4
+- xvmclib header changes, fixes ftbfs (#635653,#661071)
+
* Sun Nov 28 2010 Kevin Kofler <Kevin(a)tigcc.ticalc.org> - 1.1.19-3
- rebuild for new directfb (1.4.11)
commit 91d1fcc33f0c057b52568eb0c7060584336946f5
Author: Kevin Kofler <Kevin(a)tigcc.ticalc.org>
Date: Sun Nov 28 15:48:53 2010 +0100
* Sun Nov 28 2010 Kevin Kofler <Kevin(a)tigcc.ticalc.org> - 1.1.19-3
- rebuild for new directfb (1.4.11)
diff --git a/xine-lib.spec b/xine-lib.spec
index 20b8dbf..09ee7d2 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -44,7 +44,7 @@
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.19
-Release: 2%{?dist}
+Release: 3%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://www.xine-project.org/
@@ -453,6 +453,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Sun Nov 28 2010 Kevin Kofler <Kevin(a)tigcc.ticalc.org> - 1.1.19-3
+- rebuild for new directfb (1.4.11)
+
* Wed Sep 15 2010 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.19-2
- rebuild (ImageMagick)
commit 14b33c734c2db5f59e25a31b6305e705953a8197
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Wed Sep 15 07:33:07 2010 -0500
- rebuild (ImageMagick)
diff --git a/xine-lib.spec b/xine-lib.spec
index b147ceb..20b8dbf 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -44,7 +44,7 @@
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.19
-Release: 1%{?dist}
+Release: 2%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://www.xine-project.org/
@@ -453,6 +453,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Wed Sep 15 2010 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.19-2
+- rebuild (ImageMagick)
+
* Sun Jul 25 2010 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.19-1
- 1.1.19
commit d21dbfca70f6535cb49e3aeac4ba0a3dc437a2c6
Author: Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org>
Date: Thu Jul 29 13:22:27 2010 +0000
dist-git conversion
diff --git a/.cvsignore b/.gitignore
similarity index 100%
rename from .cvsignore
rename to .gitignore
commit 84ca12a84b921c2a00ae8990bb306ebd526347aa
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Mon Jul 26 16:07:10 2010 +0000
re-enable no_autopoint patch, the pain is just not worth it
diff --git a/sources b/sources
index ac4cd83..7be858d 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-e80686751441fb75ce075b097f1af75d xine-lib-1.1.19-autotools.patch.bz2
+1a77122fa938a3f8cb85cef231236c39 xine-lib-1.1.19-autotools.patch.bz2
552e3e38f1afb77428f6aaa08e13b0d2 xine-lib-1.1.19-pruned.tar.bz2
diff --git a/xine-lib-mk-autotools-patch.sh b/xine-lib-mk-autotools-patch.sh
index 1c524c5..3cb6d1a 100644
--- a/xine-lib-mk-autotools-patch.sh
+++ b/xine-lib-mk-autotools-patch.sh
@@ -23,7 +23,7 @@ tar jxf xine-lib-$version-pruned.tar.bz2
cp -a xine-lib-$version xine-lib-$version-pruned
pushd xine-lib-$version
-#patch -p1 < ../xine-lib-${version}-no_autopoint.patch
+patch -p1 < ../xine-lib-${version}-no_autopoint.patch
# extra work for to omit old libtool-related crud
rm -f configure ltmain.sh libtool m4/libtool.m4 m4/ltoptions.m4 m4/ltversion.m4
./autogen.sh noconfig
diff --git a/xine-lib.spec b/xine-lib.spec
index 7f79a4e..b147ceb 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -73,8 +73,6 @@ Provides: xine-lib(plugin-abi) = %{plugin_abi}
%{?_isa:Provides: xine-lib(plugin-abi)%{?_isa} = %{plugin_abi}}
BuildRequires: automake libtool
-# for /usr/bin/autopoint
-BuildRequires: gettext-devel
# X11
BuildRequires: libX11-devel
BuildRequires: libXv-devel
commit c4c909b1a9e6cc0e2189d01be266b1cda8ce0e3d
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Mon Jul 26 15:59:54 2010 +0000
gettext-devel ?
diff --git a/xine-lib.spec b/xine-lib.spec
index 4f815f4..7f79a4e 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -73,7 +73,8 @@ Provides: xine-lib(plugin-abi) = %{plugin_abi}
%{?_isa:Provides: xine-lib(plugin-abi)%{?_isa} = %{plugin_abi}}
BuildRequires: automake libtool
-BuildRequires: gettext
+# for /usr/bin/autopoint
+BuildRequires: gettext-devel
# X11
BuildRequires: libX11-devel
BuildRequires: libXv-devel
commit 143cd6dae967d9c934bcc98b00a3bd72d7131ffe
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Mon Jul 26 15:38:19 2010 +0000
BR: gettext
diff --git a/xine-lib.spec b/xine-lib.spec
index b147ceb..4f815f4 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -73,6 +73,7 @@ Provides: xine-lib(plugin-abi) = %{plugin_abi}
%{?_isa:Provides: xine-lib(plugin-abi)%{?_isa} = %{plugin_abi}}
BuildRequires: automake libtool
+BuildRequires: gettext
# X11
BuildRequires: libX11-devel
BuildRequires: libXv-devel
commit 016fec2ced2ffcd87c9965c053a030b15a044447
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Mon Jul 26 14:01:58 2010 +0000
* Sun Jul 25 2010 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.19-1
- 1.1.19
diff --git a/.cvsignore b/.cvsignore
index 9d21c9b..de99961 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -1,2 +1,2 @@
-xine-lib-1.1.18.1-autotools.patch.bz2
-xine-lib-1.1.18.1-pruned.tar.bz2
+xine-lib-1.1.19-autotools.patch.bz2
+xine-lib-1.1.19-pruned.tar.bz2
diff --git a/sources b/sources
index cf9ff04..ac4cd83 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-e2c45d451fd9d8ad3be680237ff5bcdf xine-lib-1.1.18.1-autotools.patch.bz2
-55de212f416d9d366cad7520ccd7a539 xine-lib-1.1.18.1-pruned.tar.bz2
+e80686751441fb75ce075b097f1af75d xine-lib-1.1.19-autotools.patch.bz2
+552e3e38f1afb77428f6aaa08e13b0d2 xine-lib-1.1.19-pruned.tar.bz2
diff --git a/xine-lib-1.1.18.1-no_autopoint.patch b/xine-lib-1.1.19-no_autopoint.patch
similarity index 100%
rename from xine-lib-1.1.18.1-no_autopoint.patch
rename to xine-lib-1.1.19-no_autopoint.patch
diff --git a/xine-lib-mk-autotools-patch.sh b/xine-lib-mk-autotools-patch.sh
index 3cb6d1a..1c524c5 100644
--- a/xine-lib-mk-autotools-patch.sh
+++ b/xine-lib-mk-autotools-patch.sh
@@ -23,7 +23,7 @@ tar jxf xine-lib-$version-pruned.tar.bz2
cp -a xine-lib-$version xine-lib-$version-pruned
pushd xine-lib-$version
-patch -p1 < ../xine-lib-${version}-no_autopoint.patch
+#patch -p1 < ../xine-lib-${version}-no_autopoint.patch
# extra work for to omit old libtool-related crud
rm -f configure ltmain.sh libtool m4/libtool.m4 m4/ltoptions.m4 m4/ltversion.m4
./autogen.sh noconfig
diff --git a/xine-lib.spec b/xine-lib.spec
index 3602256..b147ceb 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -3,7 +3,7 @@
# - drop the opengl video out plugin?
# - deprecate ESD support?
-%define plugin_abi 1.28
+%define plugin_abi 1.29
%define codecdir %{_libdir}/codecs
%ifarch %{ix86}
@@ -43,8 +43,8 @@
Summary: A multimedia engine
Name: xine-lib
-Version: 1.1.18.1
-Release: 3%{?dist}
+Version: 1.1.19
+Release: 1%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://www.xine-project.org/
@@ -131,6 +131,7 @@ BuildRequires: libsmbclient-devel
BuildRequires: samba-common
%endif
BuildRequires: libdvdnav-devel
+BuildRequires: libdvdread-devel
%if 0%{?pa_in_main}
Obsoletes: xine-lib-pulseaudio < 1.1.16.3-5
@@ -341,7 +342,7 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_sputext.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_theora.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_vorbis.so
-%ifarch %ix86
+%ifarch %{ix86}
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_w32dll.so
%endif # ix86
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_yuv.so
@@ -452,6 +453,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Sun Jul 25 2010 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.19-1
+- 1.1.19
+
* Mon Jul 19 2010 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.18.1-3
- no directfb on arm (yet)
commit 583b25cbebc55b62838424ecb71d912ed09c822e
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Mon Jul 19 17:17:00 2010 +0000
* Mon Jul 19 2010 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.18.1-3
- no directfb on arm (yet)
diff --git a/xine-lib.spec b/xine-lib.spec
index 0e48428..3602256 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -26,6 +26,10 @@
%endif
%endif
+%ifarch %{arm}
+%define _without_directfb 1
+%endif
+
%if 0%{?fedora} > 8 || 0%{?rhel} > 5
%define _enable_v4l --enable-v4l --enable-libv4l
%define _without_arts --without-arts
@@ -40,7 +44,7 @@
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.18.1
-Release: 2%{?dist}
+Release: 3%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://www.xine-project.org/
@@ -448,6 +452,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Mon Jul 19 2010 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.18.1-3
+- no directfb on arm (yet)
+
* Tue Jun 1 2010 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.18.1-2
- Rebuild.
commit 3a547b7aa9047b4cd6d3d5fe85cb8e432fc718a6
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Mon Jun 21 19:24:44 2010 +0000
put back gnome-vfs exclusion in %%description
diff --git a/xine-lib.spec b/xine-lib.spec
index 4aa99ac..0e48428 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -173,7 +173,9 @@ This package contains extra plugins for %{name}:
- EsounD
- JACK
- GDK-Pixbuf
- - GNOME VFS
+%if ! 0%{?_disable_gnomevfs:1}
+ - GNOME VFS
+%endif
- SMB
- SDL
%if %{with_aalib}
commit ba91530bdd8353ecbe0cecb2c28ce7f9e0e57b76
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Mon Jun 21 19:22:43 2010 +0000
sync changes from EL-6 branch
diff --git a/xine-lib.spec b/xine-lib.spec
index 7bb8a4d..4aa99ac 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -13,21 +13,27 @@
%endif # ix86
%if 0%{?fedora}
-%define _enable_v4l --enable-v4l --enable-libv4l
%define _disable_gnomevfs --disable-gnomevfs
%define with_aalib %{?_without_aalib:0}%{!?_without_aalib:1}
-%define with_pa %{?_without_pulseaudio:0}%{!?_without_pulseaudio:1}
%else
%define with_aalib %{?_with_aalib:1}%{!?_with_aalib:0}
-%define with_pa %{?_with_pulseaudio:1}%{!?_with_pulseaudio:0}
%endif # Fedora
-%if 0%{?fedora} || 0%{?rhel} > 5
-%define _without_arts --without-art
-%define _with_xcb %{?_without_xcb:0}%{!?_without_xcb:1}
+%define _enable_xvmc --enable-xvmc
+%if 0%{?rhel} > 5
+%ifarch ppc64
+%undefine _enable_xvmc
+%endif
+%endif
+
+%if 0%{?fedora} > 8 || 0%{?rhel} > 5
+%define _enable_v4l --enable-v4l --enable-libv4l
+%define _without_arts --without-arts
+%define _with_pa %{?_without_pulseaudio:0}%{!?_without_pulseaudio:1}
+%define _with_xcb %{?_without_xcb:0}%{!?_without_xcb:1}
%endif
-%if 0%{?fedora} > 11
+%if 0%{?fedora} > 11 || 0%{?rhel} > 5
%define pa_in_main 1
%endif
@@ -67,7 +73,7 @@ BuildRequires: automake libtool
BuildRequires: libX11-devel
BuildRequires: libXv-devel
BuildRequires: libXinerama-devel
-BuildRequires: libXvMC-devel
+%{?_enable_xvmc:BuildRequires: libXvMC-devel}
BuildRequires: libGLU-devel
%if 0%{?_enable_v4l:1}
BuildRequires: libv4l-devel
@@ -100,7 +106,7 @@ BuildRequires: jack-audio-connection-kit-devel
BuildRequires: libmodplug-devel
BuildRequires: libmpcdec-devel
BuildRequires: libvorbis-devel
-%if %{with_pa}
+%if 0%{?_with_pa:1}
BuildRequires: pulseaudio-lib-devel
%endif # pa
BuildRequires: speex-devel
@@ -167,9 +173,7 @@ This package contains extra plugins for %{name}:
- EsounD
- JACK
- GDK-Pixbuf
-%if ! 0%{?_disable_gnomevfs:1}
- GNOME VFS
-%endif
- SMB
- SDL
%if %{with_aalib}
@@ -218,6 +222,7 @@ export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)"
--enable-directfb \
%endif # directfb
%{?_enable_v4l}%{!?_enable_v4l:--disable-v4l --disable-libv4l} \
+ %{?_enable_xvmc}%{!?_enable_xvmc:--disable-xvmc} \
%{?_disable_gnomevfs} \
--disable-a52dec \
--disable-mad \
@@ -365,12 +370,14 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_http.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_net.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_pnm.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_pvr.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_rtp.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_rtsp.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_stdin_fifo.so
+%if 0%{?_enable_v4l:1}
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_pvr.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_v4l.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_v4l2.so
+%endif
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_fb.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_none.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_opengl.so
@@ -385,11 +392,13 @@ rm -rf $RPM_BUILD_ROOT
%endif # xcb
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xshm.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xv.so
+%if 0%{?_enable_xvmc:1}
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xvmc.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xxmc.so
+%endif
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_wavpack.so
-%if %{with_pa}
+%if 0%{?_with_pa:1}
%if ! 0%{?pa_in_main}
%files pulseaudio
%defattr(-,root,root,-)
@@ -397,7 +406,6 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_pulseaudio.so
%endif
-
%if 0%{!?_without_arts:1}
%files arts
%defattr(-,root,root,-)
commit 6f122026f013a43b44f5723d1a187edb0bb63406
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Mon Jun 21 17:20:33 2010 +0000
fix xcb bits for el-6
diff --git a/xine-lib.spec b/xine-lib.spec
index c7b6ef8..7bb8a4d 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -17,15 +17,14 @@
%define _disable_gnomevfs --disable-gnomevfs
%define with_aalib %{?_without_aalib:0}%{!?_without_aalib:1}
%define with_pa %{?_without_pulseaudio:0}%{!?_without_pulseaudio:1}
-%define with_xcb %{?_without_xcb:0}%{!?_without_xcb:1}
%else
%define with_aalib %{?_with_aalib:1}%{!?_with_aalib:0}
%define with_pa %{?_with_pulseaudio:1}%{!?_with_pulseaudio:0}
-%define with_xcb %{?_with_xcb:1}%{!?_with_xcb:0}
%endif # Fedora
-%if 0%{?fedora} > 8 || 0%{?rhel} > 5
-%define _without_arts --without-arts
+%if 0%{?fedora} || 0%{?rhel} > 5
+%define _without_arts --without-art
+%define _with_xcb %{?_without_xcb:0}%{!?_without_xcb:1}
%endif
%if 0%{?fedora} > 11
@@ -73,7 +72,7 @@ BuildRequires: libGLU-devel
%if 0%{?_enable_v4l:1}
BuildRequires: libv4l-devel
%endif
-%if %{with_xcb}
+%if 0%{?_with_xcb:1}
BuildRequires: libxcb-devel
%endif # xcb
# Video
@@ -380,7 +379,7 @@ rm -rf $RPM_BUILD_ROOT
%if %{have_vidix}
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_vidix.so
%endif # vidix
-%if %{with_xcb}
+%if 0%{?_with_xcb:1}
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xcbshm.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xcbxv.so
%endif # xcb
commit a56e4a2f3c0b7b933bbd49cfc2fdc30bf150d68d
Author: Ville Skyttä <scop(a)fedoraproject.org>
Date: Mon May 31 21:55:59 2010 +0000
* Tue Jun 1 2010 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.18.1-2
- Rebuild.
diff --git a/xine-lib.spec b/xine-lib.spec
index 2df59cf..c7b6ef8 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -35,7 +35,7 @@
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.18.1
-Release: 1%{?dist}
+Release: 2%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://www.xine-project.org/
@@ -439,6 +439,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Tue Jun 1 2010 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.18.1-2
+- Rebuild.
+
* Sun Mar 07 2010 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.18.1-1
- xine-lib-1.1.18.1
@@ -541,10 +544,10 @@ rm -rf $RPM_BUILD_ROOT
* Thu Apr 24 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.12-2
- CVE-2008-1878
-* Wed Apr 16 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.12-1
+* Wed Apr 16 2008 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.12-1
- 1.1.12 (plugin ABI 1.21); qt, mkv, and pulseaudio patches applied upstream.
-* Wed Apr 9 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.11.1-3
+* Wed Apr 9 2008 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.11.1-3
- Apply upstream fixes for Quicktime (#441705) and Matroska regressions
introduced in 1.1.11.1.
@@ -552,12 +555,12 @@ rm -rf $RPM_BUILD_ROOT
- pulse-rework2 patch (#439731)
- -pulseaudio subpkg (#439731)
-* Sun Mar 30 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.11.1-1
+* Sun Mar 30 2008 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.11.1-1
- 1.1.11.1 (security update, #438663, CVE-2008-1482).
- Provide versioned xine-lib(plugin-abi) so 3rd party packages installing
plugins can use it instead of requiring a version of xine-lib.
-* Wed Mar 19 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.11-1
+* Wed Mar 19 2008 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.11-1
- 1.1.11 (security update, #438182, CVE-2008-0073).
- Drop jack and wavpack build conditionals.
- Specfile cleanups.
@@ -565,37 +568,37 @@ rm -rf $RPM_BUILD_ROOT
* Fri Mar 7 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.10.1-1.1
- xcb support for f7+ (#373411)
-* Fri Feb 8 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.10.1-1
+* Fri Feb 8 2008 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.10.1-1
- 1.1.10.1 (security update, #431541).
-* Sun Jan 27 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.10-2
+* Sun Jan 27 2008 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.10-2
- Include spu, spucc, and spucmml decoders (#213597).
-* Sun Jan 27 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.10-1
+* Sun Jan 27 2008 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.10-1
- 1.1.10 (security update).
-* Mon Jan 21 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.9.1-3
+* Mon Jan 21 2008 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.9.1-3
- Fix version number in libxine.pc (#429487).
-* Sun Jan 20 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.9.1-2
+* Sun Jan 20 2008 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.9.1-2
- Disable upstream "discard buffers on ao close" 1.1.9 changeset (#429182).
-* Sat Jan 12 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.9.1-1
+* Sat Jan 12 2008 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.9.1-1
- 1.1.9.1 (security update).
-* Sun Jan 6 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.9-1
+* Sun Jan 6 2008 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.9-1
- 1.1.9.
-* Thu Sep 27 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.8-6
+* Thu Sep 27 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.8-6
- Enable wavpack support by default for all distros.
-* Sun Sep 23 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.8-5
+* Sun Sep 23 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.8-5
- Enable JACK support by default for all distros.
-* Wed Sep 19 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.8-4
+* Wed Sep 19 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.8-4
- Fix "--without wavpack" build.
-* Sat Sep 15 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.8-3
+* Sat Sep 15 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.8-3
- Move XCB plugins to the main package.
- Make aalib, caca, pulseaudio, jack, and wavpack support optional at build
time in preparation for the first EPEL build.
@@ -604,63 +607,63 @@ rm -rf $RPM_BUILD_ROOT
- remove the dependency from -extras to -arts, and use Obsoletes to
provide an upgrade path
-* Thu Aug 30 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.8-1
+* Thu Aug 30 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.8-1
- 1.1.8, "open" patch applied upstream.
- Build XCB plugins by default for Fedora 8+ only.
* Sat Aug 25 2007 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.7-3
- Split the aRts plugin into its own subpackage
-* Tue Aug 14 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.7-2
+* Tue Aug 14 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.7-2
- Include XCB output plugins (in -extras at least for now).
- Protect "open" with glibc 2.6.90 and -D_FORTIFY_SOURCE=2.
- Clean up %%configure options.
- License: GPLv2+
-* Thu Jun 7 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.7-1
+* Thu Jun 7 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.7-1
- 1.1.7.
* Wed Jun 06 2007 Rex Dieter <rdieter[AT]fedoraproject.org> - 1.1.6-3
- respin (for libmpcdec)
-* Wed Apr 25 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.6-2
+* Wed Apr 25 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.6-2
- Make Real codec search path /usr/lib(64)/codecs again (#237743).
-* Wed Apr 18 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.6-1
+* Wed Apr 18 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.6-1
- 1.1.6.
-* Wed Apr 11 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.5-1
+* Wed Apr 11 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.5-1
- 1.1.5.
- Include GSM 06.10 decoder (#228186).
- Re-enable CACA support.
-* Sun Apr 8 2007 Ville Skyttä <ville.skytta at iki.fi>
+* Sun Apr 8 2007 Ville Skyttä <ville.skytta(a)iki.fi>
- Exclude vidix dir on systems that don't have vidix.
- Specfile cleanups.
-* Mon Mar 26 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.4-4
+* Mon Mar 26 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.4-4
- Add PulseAudio support (in -extras, #234035/Jost Diederichs).
- Adjust Samba build dependencies to work for both <= and > FC6.
- Add --with freetype and --with antialiasing build time options,
default disabled, and an upstream patch for FreeType memory leak (#233194).
-* Sat Mar 10 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.4-3
+* Sat Mar 10 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.4-3
- Apply upstream fix for CVE-2007-1246.
-* Wed Feb 14 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.4-2
+* Wed Feb 14 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.4-2
- Rebuild.
-* Wed Jan 31 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.4-1
+* Wed Jan 31 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.4-1
- 1.1.4, with wavpack and system libmpcdec support.
* Thu Jan 18 2007 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.3-4
- rebuild
-* Wed Jan 3 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.3-3
+* Wed Jan 3 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.3-3
- Fix libflac decoder with FLAC < 1.1.3 (#220961).
- Apply upstream patch for FLAC >= 1.1.3.
-* Sun Dec 17 2006 Ville Skyttä <ville.skytta at iki.fi> - 1.1.3-2
+* Sun Dec 17 2006 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.3-2
- Don't run autotools during build.
* Mon Dec 04 2006 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.3-1
commit 3adfd1633f2de5fcf86d415dc2ba2e6f81bb9bf6
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Wed Apr 14 18:13:31 2010 +0000
-extras: don't mention gnome-vfs if it's not included
diff --git a/xine-lib.spec b/xine-lib.spec
index 17f16b7..2df59cf 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -168,7 +168,9 @@ This package contains extra plugins for %{name}:
- EsounD
- JACK
- GDK-Pixbuf
+%if ! 0%{?_disable_gnomevfs:1}
- GNOME VFS
+%endif
- SMB
- SDL
%if %{with_aalib}
commit dee332a2dadaad166460acbf471356c17efbeb3e
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Mon Mar 8 14:53:03 2010 +0000
fix patch reference
diff --git a/xine-lib.spec b/xine-lib.spec
index c0b33dd..17f16b7 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -51,7 +51,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Patch1: xine-lib-1.1.4-optflags.patch
# used to help
-Patch2: xine-lib-1.1.18-no_autopoint.patch
+Patch2: xine-lib-%{version}-no_autopoint.patch
Patch6: xine-lib-1.1.1-deepbind-939.patch
# http://bugzilla.redhat.com/470568
Patch8: xine-lib-1.1.17-avsync_hack.patch
commit 68efe077519ac783c5be3b2a74382d336008b4a6
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Sun Mar 7 23:49:54 2010 +0000
* Sun Mar 07 2010 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.18.1-1
- xine-lib-1.1.18.1
diff --git a/.cvsignore b/.cvsignore
index 07a7912..9d21c9b 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -1,2 +1,2 @@
-xine-lib-1.1.18-pruned.tar.bz2
-xine-lib-1.1.18-autotools.patch.bz2
+xine-lib-1.1.18.1-autotools.patch.bz2
+xine-lib-1.1.18.1-pruned.tar.bz2
diff --git a/sources b/sources
index 53206ac..cf9ff04 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-8e93ff9da4839042680c8118f1c4cd3f xine-lib-1.1.18-pruned.tar.bz2
-2b8c6d3188a180fa763a44bb2ca9fe4c xine-lib-1.1.18-autotools.patch.bz2
+e2c45d451fd9d8ad3be680237ff5bcdf xine-lib-1.1.18.1-autotools.patch.bz2
+55de212f416d9d366cad7520ccd7a539 xine-lib-1.1.18.1-pruned.tar.bz2
diff --git a/xine-lib-1.1.18-no_autopoint.patch b/xine-lib-1.1.18.1-no_autopoint.patch
similarity index 100%
rename from xine-lib-1.1.18-no_autopoint.patch
rename to xine-lib-1.1.18.1-no_autopoint.patch
diff --git a/xine-lib.spec b/xine-lib.spec
index c9df1d9..c0b33dd 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -34,8 +34,8 @@
Summary: A multimedia engine
Name: xine-lib
-Version: 1.1.18
-Release: 2%{?dist}
+Version: 1.1.18.1
+Release: 1%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://www.xine-project.org/
@@ -437,6 +437,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Sun Mar 07 2010 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.18.1-1
+- xine-lib-1.1.18.1
+
* Sun Mar 07 2010 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.18-2
- rebuild (ImageMagick)
commit 277a2b42301e06fb936a8b26c9bf1793f399378f
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Sun Mar 7 15:05:51 2010 +0000
* Sun Mar 07 2010 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.18-2
- rebuild (ImageMagick)
diff --git a/xine-lib.spec b/xine-lib.spec
index 895b2d3..c9df1d9 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -35,7 +35,7 @@
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.18
-Release: 1%{?dist}
+Release: 2%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://www.xine-project.org/
@@ -437,6 +437,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Sun Mar 07 2010 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.18-2
+- rebuild (ImageMagick)
+
* Wed Feb 24 2010 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.18-1
- xine-lib-1.1.18, plugin-abi 1.28 (#567913)
commit 3cc315a82c6c6cf83ae38cc8dcf352bd5cbb5a8e
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Wed Feb 24 15:07:47 2010 +0000
* Wed Feb 24 2010 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.18-1
- xine-lib-1.1.18, plugin-abi 1.28 (#567913)
diff --git a/.cvsignore b/.cvsignore
index 8f16768..07a7912 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -1,2 +1,2 @@
-xine-lib-1.1.17-pruned.tar.bz2
-xine-lib-1.1.17-autotools.patch.bz2
+xine-lib-1.1.18-pruned.tar.bz2
+xine-lib-1.1.18-autotools.patch.bz2
diff --git a/sources b/sources
index b24e568..53206ac 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-4c2655e0c12520b1e6e78a72d59a62ce xine-lib-1.1.17-pruned.tar.bz2
-f4282ee36447d94765d89d06787012be xine-lib-1.1.17-autotools.patch.bz2
+8e93ff9da4839042680c8118f1c4cd3f xine-lib-1.1.18-pruned.tar.bz2
+2b8c6d3188a180fa763a44bb2ca9fe4c xine-lib-1.1.18-autotools.patch.bz2
diff --git a/xine-lib-1.1.17-flac_priority.patch b/xine-lib-1.1.17-flac_priority.patch
deleted file mode 100644
index 68aae11..0000000
--- a/xine-lib-1.1.17-flac_priority.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up xine-lib-1.1.17/src/combined/decoder_flac.c.flac_priority xine-lib-1.1.17/src/combined/decoder_flac.c
---- xine-lib-1.1.17/src/combined/decoder_flac.c.flac_priority 2009-11-30 14:55:46.000000000 -0600
-+++ xine-lib-1.1.17/src/combined/decoder_flac.c 2009-12-12 21:34:19.095500951 -0600
-@@ -426,7 +426,7 @@ static uint32_t audio_types[] = {
-
- static const decoder_info_t dec_info_audio = {
- audio_types, /* supported types */
-- 5 /* priority */
-+ 8 /* priority */
- };
-
- const plugin_info_t xine_plugin_info[] EXPORTED = {
diff --git a/xine-lib-1.1.17-no_autopoint.patch b/xine-lib-1.1.18-no_autopoint.patch
similarity index 100%
rename from xine-lib-1.1.17-no_autopoint.patch
rename to xine-lib-1.1.18-no_autopoint.patch
diff --git a/xine-lib.spec b/xine-lib.spec
index 5ed9d31..895b2d3 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -3,7 +3,7 @@
# - drop the opengl video out plugin?
# - deprecate ESD support?
-%define plugin_abi 1.27
+%define plugin_abi 1.28
%define codecdir %{_libdir}/codecs
%ifarch %{ix86}
@@ -13,13 +13,15 @@
%endif # ix86
%if 0%{?fedora}
- %define with_aalib %{?_without_aalib:0}%{!?_without_aalib:1}
- %define with_pa %{?_without_pulseaudio:0}%{!?_without_pulseaudio:1}
- %define with_xcb %{?_without_xcb:0}%{!?_without_xcb:1}
+%define _enable_v4l --enable-v4l --enable-libv4l
+%define _disable_gnomevfs --disable-gnomevfs
+%define with_aalib %{?_without_aalib:0}%{!?_without_aalib:1}
+%define with_pa %{?_without_pulseaudio:0}%{!?_without_pulseaudio:1}
+%define with_xcb %{?_without_xcb:0}%{!?_without_xcb:1}
%else
- %define with_aalib %{?_with_aalib:1}%{!?_with_aalib:0}
- %define with_pa %{?_with_pulseaudio:1}%{!?_with_pulseaudio:0}
- %define with_xcb %{?_with_xcb:1}%{!?_with_xcb:0}
+%define with_aalib %{?_with_aalib:1}%{!?_with_aalib:0}
+%define with_pa %{?_with_pulseaudio:1}%{!?_with_pulseaudio:0}
+%define with_xcb %{?_with_xcb:1}%{!?_with_xcb:0}
%endif # Fedora
%if 0%{?fedora} > 8 || 0%{?rhel} > 5
@@ -32,8 +34,8 @@
Summary: A multimedia engine
Name: xine-lib
-Version: 1.1.17
-Release: 3%{?dist}
+Version: 1.1.18
+Release: 1%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://www.xine-project.org/
@@ -49,16 +51,13 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Patch1: xine-lib-1.1.4-optflags.patch
# used to help
-Patch2: xine-lib-1.1.17-no_autopoint.patch
+Patch2: xine-lib-1.1.18-no_autopoint.patch
Patch6: xine-lib-1.1.1-deepbind-939.patch
# http://bugzilla.redhat.com/470568
Patch8: xine-lib-1.1.17-avsync_hack.patch
# http://bugzilla.redhat.com/477226
Patch9: xine-lib-1.1.16.2-multilib.patch
## upstreamable patches
-# https://bugzilla.redhat.com/show_bug.cgi?id=301861
-# http://bugs.xine-project.org/show_bug.cgi?id=225
-Patch50: xine-lib-1.1.17-flac_priority.patch
## upstream patches
Provides: xine-lib(plugin-abi) = %{plugin_abi}
@@ -71,6 +70,9 @@ BuildRequires: libXv-devel
BuildRequires: libXinerama-devel
BuildRequires: libXvMC-devel
BuildRequires: libGLU-devel
+%if 0%{?_enable_v4l:1}
+BuildRequires: libv4l-devel
+%endif
%if %{with_xcb}
BuildRequires: libxcb-devel
%endif # xcb
@@ -193,7 +195,6 @@ touch -r m4/optimizations.m4.stamp m4/optimizations.m4
#patch6 -p1 -b .deepbind
%patch8 -p1 -b .avsync_hack
%patch9 -p1 -b .multilib
-%patch50 -p1 -b .flac_priority
# autotools patch + touch'ing above seems to miss something, aclocal
# runs on make anyway, let's use the ./autogen.sh hammer for now.
@@ -215,6 +216,8 @@ export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)"
%if 0%{!?_without_directfb:1}
--enable-directfb \
%endif # directfb
+ %{?_enable_v4l}%{!?_enable_v4l:--disable-v4l --disable-libv4l} \
+ %{?_disable_gnomevfs} \
--disable-a52dec \
--disable-mad \
--disable-vcd \
@@ -366,6 +369,7 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_rtsp.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_stdin_fifo.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_v4l.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_v4l2.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_fb.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_none.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_opengl.so
@@ -433,6 +437,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Wed Feb 24 2010 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.18-1
+- xine-lib-1.1.18, plugin-abi 1.28 (#567913)
+
* Sat Dec 12 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.17-3
- bump flac_decoder priority (rh#301861,xine#225)
commit 549b84b42382bb3ec56db5a8d8eccebb6b4f7dd0
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Mon Dec 14 16:09:13 2009 +0000
Release++
diff --git a/xine-lib.spec b/xine-lib.spec
index a5fa05c..5ed9d31 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -33,7 +33,7 @@
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.17
-Release: 2%{?dist}
+Release: 3%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://www.xine-project.org/
commit 89bd664627d9e93a165b42dc22ebd6fe0bdd775e
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Mon Dec 14 16:06:33 2009 +0000
* Sat Dec 12 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.17-3
- bump flac_decoder priority (rh#301861,xine#225)
diff --git a/xine-lib-1.1.17-flac_priority.patch b/xine-lib-1.1.17-flac_priority.patch
new file mode 100644
index 0000000..68aae11
--- /dev/null
+++ b/xine-lib-1.1.17-flac_priority.patch
@@ -0,0 +1,12 @@
+diff -up xine-lib-1.1.17/src/combined/decoder_flac.c.flac_priority xine-lib-1.1.17/src/combined/decoder_flac.c
+--- xine-lib-1.1.17/src/combined/decoder_flac.c.flac_priority 2009-11-30 14:55:46.000000000 -0600
++++ xine-lib-1.1.17/src/combined/decoder_flac.c 2009-12-12 21:34:19.095500951 -0600
+@@ -426,7 +426,7 @@ static uint32_t audio_types[] = {
+
+ static const decoder_info_t dec_info_audio = {
+ audio_types, /* supported types */
+- 5 /* priority */
++ 8 /* priority */
+ };
+
+ const plugin_info_t xine_plugin_info[] EXPORTED = {
diff --git a/xine-lib.spec b/xine-lib.spec
index d0c27db..a5fa05c 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -56,6 +56,9 @@ Patch8: xine-lib-1.1.17-avsync_hack.patch
# http://bugzilla.redhat.com/477226
Patch9: xine-lib-1.1.16.2-multilib.patch
## upstreamable patches
+# https://bugzilla.redhat.com/show_bug.cgi?id=301861
+# http://bugs.xine-project.org/show_bug.cgi?id=225
+Patch50: xine-lib-1.1.17-flac_priority.patch
## upstream patches
Provides: xine-lib(plugin-abi) = %{plugin_abi}
@@ -190,6 +193,7 @@ touch -r m4/optimizations.m4.stamp m4/optimizations.m4
#patch6 -p1 -b .deepbind
%patch8 -p1 -b .avsync_hack
%patch9 -p1 -b .multilib
+%patch50 -p1 -b .flac_priority
# autotools patch + touch'ing above seems to miss something, aclocal
# runs on make anyway, let's use the ./autogen.sh hammer for now.
@@ -429,6 +433,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Sat Dec 12 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.17-3
+- bump flac_decoder priority (rh#301861,xine#225)
+
* Mon Dec 07 2009 Bastien Nocera <bnocera(a)redhat.com> 1.1.17-2
- Remove gnome-vfs2 plugin, it's mostly useless
commit 96fbf1ada3d23397713cce63db4587a511f11006
Author: Bastien Nocera <hadess(a)fedoraproject.org>
Date: Mon Dec 7 13:55:57 2009 +0000
* Mon Dec 07 2009 Bastien Nocera <bnocera(a)redhat.com> 1.1.17-2
- Remove gnome-vfs2 plugin, it's mostly useless
diff --git a/xine-lib.spec b/xine-lib.spec
index 5553318..d0c27db 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -33,7 +33,7 @@
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.17
-Release: 1%{?dist}
+Release: 2%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://www.xine-project.org/
@@ -110,7 +110,6 @@ BuildRequires: wavpack-devel
BuildRequires: libcdio-devel
# Other
BuildRequires: pkgconfig
-BuildRequires: gnome-vfs2-devel
BuildRequires: gtk2-devel
%if 0%{?fedora} > 6 || 0%{?rhel} > 5
BuildRequires: libsmbclient-devel
@@ -404,7 +403,6 @@ rm -rf $RPM_BUILD_ROOT
%if 0%{!?_without_imagemagick:1}
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_image.so
%endif # imagemagick
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_gnome_vfs.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_smb.so
%if %{with_aalib}
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_aa.so
@@ -431,6 +429,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Mon Dec 07 2009 Bastien Nocera <bnocera(a)redhat.com> 1.1.17-2
+- Remove gnome-vfs2 plugin, it's mostly useless
+
* Wed Dec 02 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.17-1
- xine-lib-1.1.17, plugin-abi 1.27
commit d4183433d2a3be052c4ca72530b9cfc4037c485f
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Thu Dec 3 15:38:44 2009 +0000
awol/rebased patches
diff --git a/xine-lib-1.1.17-avsync_hack.patch b/xine-lib-1.1.17-avsync_hack.patch
new file mode 100644
index 0000000..5fa1ae1
--- /dev/null
+++ b/xine-lib-1.1.17-avsync_hack.patch
@@ -0,0 +1,22 @@
+diff -up xine-lib-1.1.17/src/xine-engine/audio_out.c.avsync_hack xine-lib-1.1.17/src/xine-engine/audio_out.c
+--- xine-lib-1.1.17/src/xine-engine/audio_out.c.avsync_hack 2009-11-30 19:33:30.000000000 -0600
++++ xine-lib-1.1.17/src/xine-engine/audio_out.c 2009-12-02 09:07:37.622805780 -0600
+@@ -1156,8 +1156,17 @@ static void *ao_loop (void *this_gen) {
+
+ /*
+ * calculate gap:
++ *
++ * HACK (rwa): If we have no video stream we do not need an AV sync and so
++ * we assume a gap of 0. This seems to avoid the skips in the
++ * first seconds when playing audio-only via the "glitch-free"
++ * pulseaudio server.
+ */
+- gap = in_buf->vpts - hw_vpts;
++ if (in_buf && in_buf->stream && in_buf->stream->video_decoder_plugin) {
++ gap = in_buf->vpts - hw_vpts;
++ } else {
++ gap = 0;
++ }
+ lprintf ("hw_vpts : %" PRId64 " buffer_vpts : %" PRId64 " gap : %" PRId64 "\n",
+ hw_vpts, in_buf->vpts, gap);
+
diff --git a/xine-lib-1.1.17-no_autopoint.patch b/xine-lib-1.1.17-no_autopoint.patch
new file mode 100644
index 0000000..d5ee0cd
--- /dev/null
+++ b/xine-lib-1.1.17-no_autopoint.patch
@@ -0,0 +1,17 @@
+diff -up xine-lib-1.1.17/autogen.sh.no_autopoint xine-lib-1.1.17/autogen.sh
+--- xine-lib-1.1.17/autogen.sh.no_autopoint 2009-10-09 09:33:31.000000000 -0500
++++ xine-lib-1.1.17/autogen.sh 2009-12-02 09:15:48.534555467 -0600
+@@ -229,10 +229,10 @@ run_aclocal () {
+ echo
+ fi
+
+- echo $_echo_n " + Running autopoint: $_echo_c"
++ #echo $_echo_n " + Running autopoint: $_echo_c"
+
+- autopoint
+- echo "done."
++ #autopoint
++ #echo "done."
+
+ echo $_echo_n " + Running aclocal: $_echo_c"
+
commit 5c46b58bf28d8f5b2f4440d128e920312e23b58c
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Wed Dec 2 18:27:27 2009 +0000
* Wed Dec 02 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.17-1
- xine-lib-1.1.17, plugin-abi 1.27
diff --git a/.cvsignore b/.cvsignore
index dbdfc40..8f16768 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -1,2 +1,2 @@
-xine-lib-1.1.16.3-autotools.patch.bz2
-xine-lib-1.1.16.3-pruned.tar.bz2
+xine-lib-1.1.17-pruned.tar.bz2
+xine-lib-1.1.17-autotools.patch.bz2
diff --git a/sources b/sources
index 3cc02d3..b24e568 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-e50122a9323107564d58056b35256610 xine-lib-1.1.16.3-autotools.patch.bz2
-0cac86b7d74c1dcaa22f5a8cbc5ef578 xine-lib-1.1.16.3-pruned.tar.bz2
+4c2655e0c12520b1e6e78a72d59a62ce xine-lib-1.1.17-pruned.tar.bz2
+f4282ee36447d94765d89d06787012be xine-lib-1.1.17-autotools.patch.bz2
diff --git a/xine-lib-1.1.15-avsync_hack.patch b/xine-lib-1.1.15-avsync_hack.patch
deleted file mode 100644
index f33aba4..0000000
--- a/xine-lib-1.1.15-avsync_hack.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff -uNr xine-lib-1.1.15.orig/src/xine-engine/audio_out.c xine-lib-1.1.15/src/xine-engine/audio_out.c
---- xine-lib-1.1.15.orig/src/xine-engine/audio_out.c 2008-07-10 18:19:10.000000000 +0200
-+++ xine-lib-1.1.15/src/xine-engine/audio_out.c 2009-01-10 21:57:20.000000000 +0100
-@@ -1151,8 +1151,17 @@
-
- /*
- * calculate gap:
-+ *
-+ * HACK (rwa): If we have no video stream we do not need an AV sync and so
-+ * we assume a gap of 0. This seems to avoid the skips in the
-+ * first seconds when playing audio-only via the "glitch-free"
-+ * pulseaudio server.
- */
-- gap = in_buf->vpts - hw_vpts;
-+ if (in_buf && in_buf->stream && in_buf->stream->video_decoder_plugin) {
-+ gap = in_buf->vpts - hw_vpts;
-+ } else {
-+ gap = 0;
-+ }
- lprintf ("hw_vpts : %" PRId64 " buffer_vpts : %" PRId64 " gap : %" PRId64 "\n",
- hw_vpts, in_buf->vpts, gap);
-
diff --git a/xine-lib-1.1.16.3-mod_mimetypes_typo.patch b/xine-lib-1.1.16.3-mod_mimetypes_typo.patch
deleted file mode 100644
index b10fabb..0000000
--- a/xine-lib-1.1.16.3-mod_mimetypes_typo.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff -up xine-lib-1.1.16.3/src/demuxers/demux_mod.c.mod_mimetypes_typo xine-lib-1.1.16.3/src/demuxers/demux_mod.c
---- xine-lib-1.1.16.3/src/demuxers/demux_mod.c.mod_mimetypes_typo 2009-03-25 14:28:40.000000000 -0500
-+++ xine-lib-1.1.16.3/src/demuxers/demux_mod.c 2009-04-10 10:15:04.000000000 -0500
-@@ -387,11 +387,11 @@ static const char *get_mimetypes (demux_
- "audio/x-s3m: s3m: ScreamTracker 3 Module;"
- "audio/s3m: s3m: ScreamTracker 3 Module;"
- "application/playerpro: 669: 669 Tracker Module;"
-- "application/adrift; amf: ADRIFT Module File;"
-- "audio/med; med; Amiga MED/OctaMED Tracker Module Sound File;"
-- "audio/x-amf; amf: ADRIFT Module File;"
-- "audio/x-xm; xm: FastTracker II Audio;"
-- "audio/xm; xm: FastTracker II Audio;";
-+ "application/adrift: amf: ADRIFT Module File;"
-+ "audio/med: med: Amiga MED/OctaMED Tracker Module Sound File;"
-+ "audio/x-amf: amf: ADRIFT Module File;"
-+ "audio/x-xm: xm: FastTracker II Audio;"
-+ "audio/xm: xm: FastTracker II Audio;";
- }
-
- static void class_dispose (demux_class_t *this_gen) {
diff --git a/xine-lib-mk-autotools-patch.sh b/xine-lib-mk-autotools-patch.sh
index dc1e103..3cb6d1a 100644
--- a/xine-lib-mk-autotools-patch.sh
+++ b/xine-lib-mk-autotools-patch.sh
@@ -23,6 +23,7 @@ tar jxf xine-lib-$version-pruned.tar.bz2
cp -a xine-lib-$version xine-lib-$version-pruned
pushd xine-lib-$version
+patch -p1 < ../xine-lib-${version}-no_autopoint.patch
# extra work for to omit old libtool-related crud
rm -f configure ltmain.sh libtool m4/libtool.m4 m4/ltoptions.m4 m4/ltversion.m4
./autogen.sh noconfig
diff --git a/xine-lib.spec b/xine-lib.spec
index f31b4c4..5553318 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -1,10 +1,9 @@
# TODO, sometime, maybe:
# - libstk: http://www.libstk.net/ - probably not, see 1.1.5 ChangeLog
# - drop the opengl video out plugin?
-# http://www.redhat.com/archives/fedora-legal-list/2007-August/msg00011.html
# - deprecate ESD support?
-%define plugin_abi 1.26
+%define plugin_abi 1.27
%define codecdir %{_libdir}/codecs
%ifarch %{ix86}
@@ -33,35 +32,36 @@
Summary: A multimedia engine
Name: xine-lib
-Version: 1.1.16.3
-Release: 5%{?dist}
+Version: 1.1.17
+Release: 1%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://www.xine-project.org/
# The tarball is generated from the upstream tarball using
# the script in SOURCE1. It prunes potentially patented code
#Source0: http://downloads.sourceforge.net/xine/xine-lib-%{version}.tar.bz2
-Source0: %{name}-%{version}-pruned.tar.bz2
-Source1: %{name}-cleanup-sources.sh
-Source2: %{name}-mk-autotools-patch.sh
+Source0: xine-lib-%{version}-pruned.tar.bz2
+Source1: xine-lib-cleanup-sources.sh
+Source2: xine-lib-mk-autotools-patch.sh
# autotools patch created with source2
-Patch0: %{name}-%{version}-autotools.patch.bz2
+Patch0: xine-lib-%{version}-autotools.patch.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-Patch1: %{name}-1.1.4-optflags.patch
-Patch6: %{name}-1.1.1-deepbind-939.patch
+Patch1: xine-lib-1.1.4-optflags.patch
+# used to help
+Patch2: xine-lib-1.1.17-no_autopoint.patch
+Patch6: xine-lib-1.1.1-deepbind-939.patch
# http://bugzilla.redhat.com/470568
-Patch8: xine-lib-1.1.15-avsync_hack.patch
+Patch8: xine-lib-1.1.17-avsync_hack.patch
# http://bugzilla.redhat.com/477226
Patch9: xine-lib-1.1.16.2-multilib.patch
## upstreamable patches
-Patch50: xine-lib-1.1.16.3-mod_mimetypes_typo.patch
## upstream patches
-Provides: xine-lib(plugin-abi) = %{plugin_abi}
-%if "%{?_isa}" != "%{nil}"
-Provides: xine-lib(plugin-abi)%{?_isa} = %{plugin_abi}
-%endif
+Provides: xine-lib(plugin-abi) = %{plugin_abi}
+%{?_isa:Provides: xine-lib(plugin-abi)%{?_isa} = %{plugin_abi}}
+
+BuildRequires: automake libtool
# X11
BuildRequires: libX11-devel
BuildRequires: libXv-devel
@@ -133,39 +133,32 @@ common multimedia formats available - and some uncommon formats, too.
%package devel
Summary: Xine library development files
Group: Development/Libraries
-Requires: %{name} = %{version}-%{release}
+Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: pkgconfig
Requires: zlib-devel
-
%description devel
This package contains development files for %{name}.
%package arts
Summary: aRts plugin for %{name}
Group: System Environment/Libraries
-Requires: %{name} = %{version}-%{release}
+Requires: %{name}%{?_isa} = %{version}-%{release}
#Requires: xine-lib(plugin-abi) = %{plugin_abi}
-# -arts was split off the -extras subpackage at 1.1.7-3
-Obsoletes: xine-lib-extras < 1.1.7-3
-
%description arts
This package contains the aRts plugin for %{name}.
%package pulseaudio
Summary: Pulseaudio plugin for %{name}
Group: System Environment/Libraries
-Requires: %{name} = %{version}-%{release}
-
+Requires: %{name}%{?_isa} = %{version}-%{release}
%description pulseaudio
This package contains the pulseaudio plugin for %{name}.
-
%package extras
Summary: Additional plugins for %{name}
Group: System Environment/Libraries
-Requires: %{name} = %{version}-%{release}
+Requires: %{name}%{?_isa} = %{version}-%{release}
#Requires: xine-lib(plugin-abi) = %{plugin_abi}
-
%description extras
This package contains extra plugins for %{name}:
- EsounD
@@ -196,12 +189,14 @@ touch -r m4/optimizations.m4.stamp m4/optimizations.m4
# needed at least when compiling with external ffmpeg and internal faad livna bug#939.
# see also http://bugzilla.redhat.com/480504 for side-effects
#patch6 -p1 -b .deepbind
-
%patch8 -p1 -b .avsync_hack
%patch9 -p1 -b .multilib
-%patch50 -p1 -b .mod_mimetypes_typo
-# Avoid standard rpaths on lib64 archs: (autotools patch should handle this, no? -- Rex )
+# autotools patch + touch'ing above seems to miss something, aclocal
+# runs on make anyway, let's use the ./autogen.sh hammer for now.
+./autogen.sh noconfig
+
+#Avoid standard rpaths on lib64 archs: (autotools patch handles this too)
#sed -i -e 's|"/lib /usr/lib\b|"/%{_lib} %{_libdir}|' configure
@@ -314,7 +309,7 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_gsm610.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_lpcm.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_mpc.so
-%ifarch %ix86
+%ifarch %{ix86}
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_qt.so
%endif # ix86
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_real.so
@@ -324,6 +319,7 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spucc.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spucmml.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spudvb.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spuhdmv.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_sputext.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_theora.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_vorbis.so
@@ -435,6 +431,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Wed Dec 02 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.17-1
+- xine-lib-1.1.17, plugin-abi 1.27
+
* Sun Nov 29 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.3-5
- move -pulseaudio into main pkg (f12+)
- update URL
commit 13a297343ea85c6b0605e88dd78517b655fc5b4d
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Mon Nov 30 02:08:09 2009 +0000
* Sun Nov 29 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.3-5
- move -pulseaudio into main pkg (f12+)
- update URL
diff --git a/xine-lib.spec b/xine-lib.spec
index 32b7bdf..f31b4c4 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -23,17 +23,21 @@
%define with_xcb %{?_with_xcb:1}%{!?_with_xcb:0}
%endif # Fedora
-%if 0%{?fedora} > 8
+%if 0%{?fedora} > 8 || 0%{?rhel} > 5
%define _without_arts --without-arts
%endif
+%if 0%{?fedora} > 11
+%define pa_in_main 1
+%endif
+
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.16.3
-Release: 4%{?dist}
+Release: 5%{?dist}
License: GPLv2+
Group: System Environment/Libraries
-URL: http://xinehq.de/
+URL: http://www.xine-project.org/
# The tarball is generated from the upstream tarball using
# the script in SOURCE1. It prunes potentially patented code
#Source0: http://downloads.sourceforge.net/xine/xine-lib-%{version}.tar.bz2
@@ -115,6 +119,11 @@ BuildRequires: samba-common
%endif
BuildRequires: libdvdnav-devel
+%if 0%{?pa_in_main}
+Obsoletes: xine-lib-pulseaudio < 1.1.16.3-5
+Provides: xine-lib-pulseaudio = %{version}-%{release}
+%endif
+
%description
This package contains the Xine library. It can be used to play back
various media, decode multimedia files from local disk drives, and display
@@ -146,8 +155,6 @@ This package contains the aRts plugin for %{name}.
Summary: Pulseaudio plugin for %{name}
Group: System Environment/Libraries
Requires: %{name} = %{version}-%{release}
-# -pulseaudio was split off -extras at 1.1.11.1-2
-#Obsoletes: xine-lib-extras < 1.1.11.1-2
%description pulseaudio
This package contains the pulseaudio plugin for %{name}.
@@ -378,18 +385,21 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xxmc.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_wavpack.so
-%if 0%{!?_without_arts:1}
-%files arts
-%defattr(-,root,root,-)
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_arts.so
-%endif
-
%if %{with_pa}
+%if ! 0%{?pa_in_main}
%files pulseaudio
%defattr(-,root,root,-)
+%endif
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_pulseaudio.so
%endif
+
+%if 0%{!?_without_arts:1}
+%files arts
+%defattr(-,root,root,-)
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_arts.so
+%endif
+
%files extras
%defattr(-,root,root,-)
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_esd.so
@@ -425,6 +435,10 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Sun Nov 29 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.3-5
+- move -pulseaudio into main pkg (f12+)
+- update URL
+
* Mon Jul 27 2009 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1.1.16.3-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
commit 25c3a60902e8f309b1d4004529ef035de1b9ca89
Author: Bill Nottingham <notting(a)fedoraproject.org>
Date: Wed Nov 25 22:40:59 2009 +0000
Fix typo that causes a failure to update the common directory. (releng #2781)
diff --git a/Makefile b/Makefile
index a1c167d..3f11a94 100644
--- a/Makefile
+++ b/Makefile
@@ -4,7 +4,7 @@ NAME := xine-lib
SPECFILE = $(firstword $(wildcard *.spec))
define find-makefile-common
-for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
+for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
endef
MAKEFILE_COMMON := $(shell $(find-makefile-common))
commit 346d5f4cc822efc2396c423b8a6175cba7c804b5
Author: Jesse Keating <jkeating(a)fedoraproject.org>
Date: Mon Jul 27 08:05:29 2009 +0000
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
diff --git a/xine-lib.spec b/xine-lib.spec
index d198b4f..32b7bdf 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -30,7 +30,7 @@
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.16.3
-Release: 3%{?dist}
+Release: 4%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -425,6 +425,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Mon Jul 27 2009 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1.1.16.3-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
+
* Thu Jul 02 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.3-3
- rebuild (DirectFB)
commit 8961db9267bbdcf9a7b35ecd60f6d3da7de9c7b3
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Thu Jul 2 17:24:14 2009 +0000
* Thu Jul 02 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.3-3
- rebuild (DirectFB)
diff --git a/xine-lib.spec b/xine-lib.spec
index 5986bbc..d198b4f 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -30,7 +30,7 @@
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.16.3
-Release: 2%{?dist}.1
+Release: 3%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -425,6 +425,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Thu Jul 02 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.3-3
+- rebuild (DirectFB)
+
* Fri Apr 17 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.3-2.1
- drop old_caca hacks/patches (F-9)
commit 9440df6141ecab325a0fe69840ae7b585e6c6366
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Fri Apr 17 16:56:23 2009 +0000
sync from F-9/ branch
diff --git a/xine-lib-1.1.16-old-caca.patch b/xine-lib-1.1.16-old-caca.patch
deleted file mode 100644
index 5a149a9..0000000
--- a/xine-lib-1.1.16-old-caca.patch
+++ /dev/null
@@ -1,27 +0,0 @@
---- src/video_out/video_out_caca.c Tue Nov 18 21:13:55 2008 +0100
-+++ src/video_out/video_out_caca.c Mon Nov 10 16:33:51 2008 +0100
-@@ -276,7 +276,6 @@ static int caca_redraw_needed (vo_driver
-
- static vo_driver_t *open_plugin (video_driver_class_t *class_gen, const void *visual_gen) {
- caca_class_t *class = (caca_class_t *) class_gen;
-- caca_display_t *dp = (caca_display_t *)visual_gen;
- caca_driver_t *this;
-
- this = calloc(1, sizeof (caca_driver_t));
-@@ -301,13 +300,8 @@ static vo_driver_t *open_plugin (video_d
- this->yuv2rgb_factory = yuv2rgb_factory_init(MODE_32_RGB, 0, NULL);
- this->yuv2rgb_factory->set_csc_levels(this->yuv2rgb_factory, 0, 128, 128);
-
-- if (dp) {
-- this->cv = caca_get_canvas(dp);
-- this->dp = dp;
-- } else {
-- this->cv = cucul_create_canvas(0, 0);
-- this->dp = caca_create_display(this->cv);
-- }
-+ this->cv = cucul_create_canvas(0, 0);
-+ this->dp = caca_create_display(this->cv);
-
- caca_refresh_display(this->dp);
- return &this->vo_driver;
-
diff --git a/xine-lib.spec b/xine-lib.spec
index 253bd5f..5986bbc 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -13,10 +13,6 @@
%define have_vidix 0
%endif # ix86
-%if 0%{?fedora} <= 9
- %define old_caca 1
-%endif
-
%if 0%{?fedora}
%define with_aalib %{?_without_aalib:0}%{!?_without_aalib:1}
%define with_pa %{?_without_pulseaudio:0}%{!?_without_pulseaudio:1}
@@ -34,7 +30,7 @@
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.16.3
-Release: 2%{?dist}
+Release: 2%{?dist}.1
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -50,7 +46,6 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Patch1: %{name}-1.1.4-optflags.patch
Patch6: %{name}-1.1.1-deepbind-939.patch
-Patch7: %{name}-1.1.16-old-caca.patch
# http://bugzilla.redhat.com/470568
Patch8: xine-lib-1.1.15-avsync_hack.patch
# http://bugzilla.redhat.com/477226
@@ -79,11 +74,7 @@ BuildRequires: libmng-devel
%if %{with_aalib}
BuildRequires: aalib-devel >= 1.4
%endif # aalib
-%if 0%{?old_caca}
-BuildRequires: libcaca-devel >= 0.99
-%else
BuildRequires: libcaca-devel >= 0.99-0.5.beta14
-%endif
%if 0%{!?_without_directfb:1}
BuildRequires: directfb-devel
%endif # directfb
@@ -190,9 +181,6 @@ This package contains extra plugins for %{name}:
%prep
%setup -q
-%if 0%{?old_caca}
-sed -i -e 's/caca >= 0\.99beta14 cucul >= 0\.99beta14/caca cucul/g' configure.ac
-%endif
%patch0 -p1 -b .autotools
touch -r configure.ac aclocal.m4
touch -r m4/optimizations.m4 m4/optimizations.m4.stamp
@@ -202,11 +190,6 @@ touch -r m4/optimizations.m4.stamp m4/optimizations.m4
# see also http://bugzilla.redhat.com/480504 for side-effects
#patch6 -p1 -b .deepbind
-%if 0%{?old_caca}
-sed -i -e 's/caca >= 0\.99beta14 cucul >= 0\.99beta14/caca cucul/g' configure
-%patch7 -p0 -b .old-caca
-%endif
-
%patch8 -p1 -b .avsync_hack
%patch9 -p1 -b .multilib
%patch50 -p1 -b .mod_mimetypes_typo
@@ -442,6 +425,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Fri Apr 17 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.3-2.1
+- drop old_caca hacks/patches (F-9)
+
* Fri Apr 10 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.3-2
- fix modtracker mimetypes
commit efe8d228a75cb761fa1d5bb7d3f3a20b19f728ba
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Fri Apr 10 15:17:17 2009 +0000
* Fri Apr 10 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.3-2
- fix modtracker mimetypes
diff --git a/xine-lib-1.1.16.3-mod_mimetypes_typo.patch b/xine-lib-1.1.16.3-mod_mimetypes_typo.patch
new file mode 100644
index 0000000..b10fabb
--- /dev/null
+++ b/xine-lib-1.1.16.3-mod_mimetypes_typo.patch
@@ -0,0 +1,20 @@
+diff -up xine-lib-1.1.16.3/src/demuxers/demux_mod.c.mod_mimetypes_typo xine-lib-1.1.16.3/src/demuxers/demux_mod.c
+--- xine-lib-1.1.16.3/src/demuxers/demux_mod.c.mod_mimetypes_typo 2009-03-25 14:28:40.000000000 -0500
++++ xine-lib-1.1.16.3/src/demuxers/demux_mod.c 2009-04-10 10:15:04.000000000 -0500
+@@ -387,11 +387,11 @@ static const char *get_mimetypes (demux_
+ "audio/x-s3m: s3m: ScreamTracker 3 Module;"
+ "audio/s3m: s3m: ScreamTracker 3 Module;"
+ "application/playerpro: 669: 669 Tracker Module;"
+- "application/adrift; amf: ADRIFT Module File;"
+- "audio/med; med; Amiga MED/OctaMED Tracker Module Sound File;"
+- "audio/x-amf; amf: ADRIFT Module File;"
+- "audio/x-xm; xm: FastTracker II Audio;"
+- "audio/xm; xm: FastTracker II Audio;";
++ "application/adrift: amf: ADRIFT Module File;"
++ "audio/med: med: Amiga MED/OctaMED Tracker Module Sound File;"
++ "audio/x-amf: amf: ADRIFT Module File;"
++ "audio/x-xm: xm: FastTracker II Audio;"
++ "audio/xm: xm: FastTracker II Audio;";
+ }
+
+ static void class_dispose (demux_class_t *this_gen) {
diff --git a/xine-lib.spec b/xine-lib.spec
index 7893457..253bd5f 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -34,7 +34,7 @@
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.16.3
-Release: 1%{?dist}
+Release: 2%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -55,6 +55,8 @@ Patch7: %{name}-1.1.16-old-caca.patch
Patch8: xine-lib-1.1.15-avsync_hack.patch
# http://bugzilla.redhat.com/477226
Patch9: xine-lib-1.1.16.2-multilib.patch
+## upstreamable patches
+Patch50: xine-lib-1.1.16.3-mod_mimetypes_typo.patch
## upstream patches
Provides: xine-lib(plugin-abi) = %{plugin_abi}
@@ -207,6 +209,7 @@ sed -i -e 's/caca >= 0\.99beta14 cucul >= 0\.99beta14/caca cucul/g' configure
%patch8 -p1 -b .avsync_hack
%patch9 -p1 -b .multilib
+%patch50 -p1 -b .mod_mimetypes_typo
# Avoid standard rpaths on lib64 archs: (autotools patch should handle this, no? -- Rex )
#sed -i -e 's|"/lib /usr/lib\b|"/%{_lib} %{_libdir}|' configure
@@ -439,6 +442,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Fri Apr 10 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.3-2
+- fix modtracker mimetypes
+
* Fri Apr 03 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.3-1
- xine-lib-1.1.16.3, plugin-abi 1.26
commit 966bc61b769d07cdadd9022774dcbddc36eb4b71
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Fri Apr 3 17:07:18 2009 +0000
* Fri Apr 03 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.3-1
- xine-lib-1.1.16.3, plugin-abi 1.26
diff --git a/.cvsignore b/.cvsignore
index 8a0cd42..dbdfc40 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -1,2 +1,2 @@
-xine-lib-1.1.16.2-pruned.tar.bz2
-xine-lib-1.1.16.2-autotools.patch.bz2
+xine-lib-1.1.16.3-autotools.patch.bz2
+xine-lib-1.1.16.3-pruned.tar.bz2
diff --git a/sources b/sources
index 95d5764..3cc02d3 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-e2c3a178be02f5c32957b2716123aa28 xine-lib-1.1.16.2-pruned.tar.bz2
-07bf186d51b8315026453a2f21b33703 xine-lib-1.1.16.2-autotools.patch.bz2
+e50122a9323107564d58056b35256610 xine-lib-1.1.16.3-autotools.patch.bz2
+0cac86b7d74c1dcaa22f5a8cbc5ef578 xine-lib-1.1.16.3-pruned.tar.bz2
diff --git a/xine-lib-add-mime-for-mod.patch b/xine-lib-add-mime-for-mod.patch
deleted file mode 100644
index 371b062..0000000
--- a/xine-lib-add-mime-for-mod.patch
+++ /dev/null
@@ -1,23 +0,0 @@
---- src/demuxers/demux_mod.c 2009-02-08 20:56:51.000000000 +0200
-+++ src/demuxers/demux_mod.c.add-mime 2009-03-25 19:41:03.259017840 +0200
-@@ -379,7 +379,19 @@
- }
-
- static const char *get_mimetypes (demux_class_t *this_gen) {
-- return NULL;
-+ return "audio/x-mod: mod: SoundTracker/NoiseTracker/ProTracker Module;"
-+ "audio/mod: mod: SoundTracker/NoiseTracker/ProTracker Module;"
-+ "audio/it: it: ImpulseTracker Module;"
-+ "audio/x-it: it: ImpulseTracker Module;"
-+ "audio/x-stm: stm: ScreamTracker 2 Module;"
-+ "audio/x-s3m: s3m: ScreamTracker 3 Module;"
-+ "audio/s3m: s3m: ScreamTracker 3 Module;"
-+ "application/playerpro: 669: 669 Tracker Module;"
-+ "application/adrift; amf: ADRIFT Module File;"
-+ "audio/med; med; Amiga MED/OctaMED Tracker Module Sound File;"
-+ "audio/x-amf; amf: ADRIFT Module File;"
-+ "audio/x-xm; xm: FastTracker II Audio;"
-+ "audio/xm; xm: FastTracker II Audio;";
- }
-
- static void class_dispose (demux_class_t *this_gen) {
diff --git a/xine-lib-safe-audio-pause3.patch b/xine-lib-safe-audio-pause3.patch
deleted file mode 100644
index fdfbf8a..0000000
--- a/xine-lib-safe-audio-pause3.patch
+++ /dev/null
@@ -1,132 +0,0 @@
-# HG changeset patch
-# User Miguel Freitas <miguelfreitas(a)users.sourceforge.net>
-# Date 1234834587 10800
-# Node ID 2208e465026c1e54318d36dad8ca180d52fcc318
-# Parent 24a9b3d531419405f71dbcf96da93876769eb990
-Protect audio loop so it cannot write to a paused device (fix
-pause/resume freeze with pulseaudio).
-
-diff -r 24a9b3d53141 -r 2208e465026c src/xine-engine/audio_out.c
---- a/src/xine-engine/audio_out.c Fri Feb 13 18:01:29 2009 +0000
-+++ b/src/xine-engine/audio_out.c Mon Feb 16 22:36:27 2009 -0300
-@@ -243,6 +243,7 @@
- audio_fifo_t *free_fifo;
- audio_fifo_t *out_fifo;
- int64_t last_audio_vpts;
-+ pthread_mutex_t current_speed_lock;
- uint32_t current_speed; /* the current playback speed */
- /* FIXME: replace all this->clock->speed with this->current_speed. we should make
- * sure nobody will change speed without going through xine.c:set_speed_internal */
-@@ -1040,6 +1041,7 @@
- * we must process/free buffers otherwise the entire engine will stop.
- */
-
-+ pthread_mutex_lock(&this->current_speed_lock);
- if ( this->audio_loop_running &&
- (this->clock->speed == XINE_SPEED_PAUSE ||
- (this->clock->speed != XINE_FINE_SPEED_NORMAL &&
-@@ -1055,6 +1057,7 @@
- _x_refcounter_dec(in_buf->stream->refcounter);
- fifo_append (this->free_fifo, in_buf);
- in_buf = NULL;
-+ pthread_mutex_unlock(&this->current_speed_lock);
- continue;
- }
-
-@@ -1065,6 +1068,7 @@
- }
-
- lprintf ("loop:pause: I feel sleepy (%d buffers).\n", this->out_fifo->num_buffers);
-+ pthread_mutex_unlock(&this->current_speed_lock);
- xine_usec_sleep (10000);
- lprintf ("loop:pause: I wake up.\n");
- continue;
-@@ -1274,6 +1278,7 @@
- fifo_append (this->free_fifo, in_buf);
- in_buf = NULL;
- }
-+ pthread_mutex_unlock(&this->current_speed_lock);
-
- /* Give other threads a chance to use functions which require this->driver_lock to
- * be available. This is needed when using NPTL on Linux (and probably PThreads
-@@ -1684,6 +1689,7 @@
- free (this->frame_buf[1]);
- free (this->zero_space);
-
-+ pthread_mutex_destroy(&this->current_speed_lock);
- pthread_mutex_destroy(&this->flush_audio_driver_lock);
- pthread_cond_destroy(&this->flush_audio_driver_reached);
-
-@@ -1910,8 +1916,15 @@
- if (value != XINE_FINE_SPEED_NORMAL && value != XINE_SPEED_PAUSE && !this->slow_fast_audio )
- this->ao.control(&this->ao, AO_CTRL_FLUSH_BUFFERS, NULL);
-
-- this->ao.control(&this->ao,
-- (value == XINE_SPEED_PAUSE) ? AO_CTRL_PLAY_PAUSE : AO_CTRL_PLAY_RESUME, NULL);
-+ if( value == XINE_SPEED_PAUSE ) {
-+ /* current_speed_lock is here to make sure the ao_loop will pause in a safe place.
-+ * that is, we cannot pause writing to device, filling gaps etc. */
-+ pthread_mutex_lock(&this->current_speed_lock);
-+ this->ao.control(&this->ao, AO_CTRL_PLAY_PAUSE, NULL);
-+ pthread_mutex_unlock(&this->current_speed_lock);
-+ } else {
-+ this->ao.control(&this->ao, AO_CTRL_PLAY_RESUME, NULL);
-+ }
- this->current_speed = value;
- if( this->slow_fast_audio )
- ao_update_resample_factor(this);
-@@ -2056,6 +2069,7 @@
- this->driver = driver;
- this->xine = xine;
- this->clock = xine->clock;
-+ this->current_speed = xine->clock->speed;
- this->streams = xine_list_new();
-
- /* warning: driver_lock is a recursive mutex. it must NOT be
-@@ -2087,6 +2101,7 @@
- this->discard_buffers = 0;
- this->zero_space = calloc (1, ZERO_BUF_SIZE * 4 * 6); /* MAX as 32bit, 6 channels. */
-
-+ pthread_mutex_init( &this->current_speed_lock, NULL );
- pthread_mutex_init( &this->flush_audio_driver_lock, NULL );
- pthread_cond_init( &this->flush_audio_driver_reached, NULL );
-
-diff -r 24a9b3d53141 -r 2208e465026c src/xine-engine/xine.c
---- a/src/xine-engine/xine.c Fri Feb 13 18:01:29 2009 +0000
-+++ b/src/xine-engine/xine.c Mon Feb 16 22:36:27 2009 -0300
-@@ -330,17 +330,20 @@
-
- static void set_speed_internal (xine_stream_t *stream, int speed) {
- xine_t *xine = stream->xine;
-+ int old_speed = xine->clock->speed;
-
-- if (xine->clock->speed != XINE_SPEED_PAUSE && speed == XINE_SPEED_PAUSE)
-+ if (old_speed != XINE_SPEED_PAUSE && speed == XINE_SPEED_PAUSE)
- /* get all decoder and post threads in a state where they agree to be blocked */
- xine->port_ticket->revoke(xine->port_ticket, 0);
-
-- if (xine->clock->speed == XINE_SPEED_PAUSE && speed != XINE_SPEED_PAUSE)
-+ if (old_speed == XINE_SPEED_PAUSE && speed != XINE_SPEED_PAUSE)
- /* all decoder and post threads may continue now */
- xine->port_ticket->issue(xine->port_ticket, 0);
-
-- stream->xine->clock->set_fine_speed (stream->xine->clock, speed);
--
-+ if (old_speed != XINE_SPEED_PAUSE && speed == XINE_SPEED_PAUSE)
-+ /* set master clock so audio_out loop can pause in a safe place */
-+ stream->xine->clock->set_fine_speed (stream->xine->clock, speed);
-+
- /* see coment on audio_out loop about audio_paused */
- if( stream->audio_out ) {
- xine->port_ticket->acquire(xine->port_ticket, 1);
-@@ -350,6 +353,10 @@
-
- xine->port_ticket->release(xine->port_ticket, 1);
- }
-+
-+ if (old_speed == XINE_SPEED_PAUSE || speed != XINE_SPEED_PAUSE)
-+ /* master clock is set after resuming the audio device (audio_out loop may continue) */
-+ stream->xine->clock->set_fine_speed (stream->xine->clock, speed);
- }
-
-
diff --git a/xine-lib.spec b/xine-lib.spec
index 825bedf..7893457 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -4,7 +4,7 @@
# http://www.redhat.com/archives/fedora-legal-list/2007-August/msg00011.html
# - deprecate ESD support?
-%define abiver 1.25
+%define plugin_abi 1.26
%define codecdir %{_libdir}/codecs
%ifarch %{ix86}
@@ -33,8 +33,8 @@
Summary: A multimedia engine
Name: xine-lib
-Version: 1.1.16.2
-Release: 6%{?dist}
+Version: 1.1.16.3
+Release: 1%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -56,12 +56,10 @@ Patch8: xine-lib-1.1.15-avsync_hack.patch
# http://bugzilla.redhat.com/477226
Patch9: xine-lib-1.1.16.2-multilib.patch
## upstream patches
-Patch100: xine-lib-safe-audio-pause3.patch
-Patch101: xine-lib-add-mime-for-mod.patch
-Provides: xine-lib(plugin-abi) = %{abiver}
+Provides: xine-lib(plugin-abi) = %{plugin_abi}
%if "%{?_isa}" != "%{nil}"
-Provides: xine-lib(plugin-abi)%{?_isa} = %{abiver}
+Provides: xine-lib(plugin-abi)%{?_isa} = %{plugin_abi}
%endif
# X11
BuildRequires: libX11-devel
@@ -144,7 +142,7 @@ This package contains development files for %{name}.
Summary: aRts plugin for %{name}
Group: System Environment/Libraries
Requires: %{name} = %{version}-%{release}
-#Requires: xine-lib(plugin-abi) = %{abiver}
+#Requires: xine-lib(plugin-abi) = %{plugin_abi}
# -arts was split off the -extras subpackage at 1.1.7-3
Obsoletes: xine-lib-extras < 1.1.7-3
@@ -166,7 +164,7 @@ This package contains the pulseaudio plugin for %{name}.
Summary: Additional plugins for %{name}
Group: System Environment/Libraries
Requires: %{name} = %{version}-%{release}
-#Requires: xine-lib(plugin-abi) = %{abiver}
+#Requires: xine-lib(plugin-abi) = %{plugin_abi}
%description extras
This package contains extra plugins for %{name}:
@@ -210,9 +208,6 @@ sed -i -e 's/caca >= 0\.99beta14 cucul >= 0\.99beta14/caca cucul/g' configure
%patch8 -p1 -b .avsync_hack
%patch9 -p1 -b .multilib
-%patch100 -p1 -b .safe_audio_pause
-%patch101 -p0 -b .add-mime-for-mod
-
# Avoid standard rpaths on lib64 archs: (autotools patch should handle this, no? -- Rex )
#sed -i -e 's|"/lib /usr/lib\b|"/%{_lib} %{_libdir}|' configure
@@ -292,142 +287,142 @@ rm -rf $RPM_BUILD_ROOT
%{_mandir}/man5/xine.5*
%dir %{_libdir}/xine/
%dir %{_libdir}/xine/plugins/
-%dir %{_libdir}/xine/plugins/%{abiver}/
-%{_libdir}/xine/plugins/%{abiver}/mime.types
+%dir %{_libdir}/xine/plugins/%{plugin_abi}/
+%{_libdir}/xine/plugins/%{plugin_abi}/mime.types
# Listing every plugin separately for better control over binary packages
# containing exactly the plugins we want, nothing accidentally snuck in
# nor dropped.
-%dir %{_libdir}/xine/plugins/%{abiver}/post/
-%{_libdir}/xine/plugins/%{abiver}/post/xineplug_post_audio_filters.so
-%{_libdir}/xine/plugins/%{abiver}/post/xineplug_post_goom.so
-%{_libdir}/xine/plugins/%{abiver}/post/xineplug_post_mosaico.so
-%{_libdir}/xine/plugins/%{abiver}/post/xineplug_post_switch.so
-%{_libdir}/xine/plugins/%{abiver}/post/xineplug_post_visualizations.so
+%dir %{_libdir}/xine/plugins/%{plugin_abi}/post/
+%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_audio_filters.so
+%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_goom.so
+%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_mosaico.so
+%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_switch.so
+%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_visualizations.so
%if %{have_vidix}
-%dir %{_libdir}/xine/plugins/%{abiver}/vidix/
-%{_libdir}/xine/plugins/%{abiver}/vidix/cyberblade_vid.so
-%{_libdir}/xine/plugins/%{abiver}/vidix/mach64_vid.so
-%{_libdir}/xine/plugins/%{abiver}/vidix/mga_crtc2_vid.so
-%{_libdir}/xine/plugins/%{abiver}/vidix/mga_vid.so
-%{_libdir}/xine/plugins/%{abiver}/vidix/nvidia_vid.so
-%{_libdir}/xine/plugins/%{abiver}/vidix/pm2_vid.so
-%{_libdir}/xine/plugins/%{abiver}/vidix/pm3_vid.so
-%{_libdir}/xine/plugins/%{abiver}/vidix/radeon_vid.so
-%{_libdir}/xine/plugins/%{abiver}/vidix/rage128_vid.so
-%{_libdir}/xine/plugins/%{abiver}/vidix/savage_vid.so
-%{_libdir}/xine/plugins/%{abiver}/vidix/sis_vid.so
-%{_libdir}/xine/plugins/%{abiver}/vidix/unichrome_vid.so
+%dir %{_libdir}/xine/plugins/%{plugin_abi}/vidix/
+%{_libdir}/xine/plugins/%{plugin_abi}/vidix/cyberblade_vid.so
+%{_libdir}/xine/plugins/%{plugin_abi}/vidix/mach64_vid.so
+%{_libdir}/xine/plugins/%{plugin_abi}/vidix/mga_crtc2_vid.so
+%{_libdir}/xine/plugins/%{plugin_abi}/vidix/mga_vid.so
+%{_libdir}/xine/plugins/%{plugin_abi}/vidix/nvidia_vid.so
+%{_libdir}/xine/plugins/%{plugin_abi}/vidix/pm2_vid.so
+%{_libdir}/xine/plugins/%{plugin_abi}/vidix/pm3_vid.so
+%{_libdir}/xine/plugins/%{plugin_abi}/vidix/radeon_vid.so
+%{_libdir}/xine/plugins/%{plugin_abi}/vidix/rage128_vid.so
+%{_libdir}/xine/plugins/%{plugin_abi}/vidix/savage_vid.so
+%{_libdir}/xine/plugins/%{plugin_abi}/vidix/sis_vid.so
+%{_libdir}/xine/plugins/%{plugin_abi}/vidix/unichrome_vid.so
%endif # vidix
-%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_alsa.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_file.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_none.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_oss.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_bitplane.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_gsm610.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_lpcm.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_mpc.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_alsa.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_file.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_none.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_oss.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_bitplane.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_gsm610.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_lpcm.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_mpc.so
%ifarch %ix86
-%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_qt.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_qt.so
%endif # ix86
-%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_real.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_rgb.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_speex.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_spu.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_spucc.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_spucmml.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_spudvb.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_sputext.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_theora.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_vorbis.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_real.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_rgb.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_speex.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spu.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spucc.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spucmml.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spudvb.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_sputext.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_theora.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_vorbis.so
%ifarch %ix86
-%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_w32dll.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_w32dll.so
%endif # ix86
-%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_yuv.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_audio.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_avi.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_fli.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_flv.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_games.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_iff.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_image.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_matroska.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_mng.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_mpeg.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_mpeg_block.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_mpeg_elem.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_mpeg_pes.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_mpeg_ts.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_nsv.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_ogg.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_pva.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_qt.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_rawdv.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_real.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_slave.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_sputext.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_yuv_frames.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_yuv4mpeg2.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_flac.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_cdda.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_dvb.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_file.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_http.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_net.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_pnm.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_pvr.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_rtp.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_rtsp.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_stdin_fifo.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_v4l.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_fb.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_none.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_opengl.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_raw.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_syncfb.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_yuv.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_audio.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_avi.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_fli.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_flv.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_games.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_iff.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_image.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_matroska.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mng.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mpeg.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mpeg_block.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mpeg_elem.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mpeg_pes.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mpeg_ts.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_nsv.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_ogg.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_pva.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_qt.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_rawdv.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_real.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_slave.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_sputext.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_yuv_frames.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_yuv4mpeg2.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_flac.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_cdda.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_dvb.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_file.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_http.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_net.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_pnm.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_pvr.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_rtp.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_rtsp.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_stdin_fifo.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_v4l.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_fb.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_none.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_opengl.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_raw.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_syncfb.so
%if %{have_vidix}
-%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_vidix.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_vidix.so
%endif # vidix
%if %{with_xcb}
-%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_xcbshm.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_xcbxv.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xcbshm.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xcbxv.so
%endif # xcb
-%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_xshm.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_xv.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_xvmc.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_xxmc.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_wavpack.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xshm.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xv.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xvmc.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xxmc.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_wavpack.so
%if 0%{!?_without_arts:1}
%files arts
%defattr(-,root,root,-)
-%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_arts.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_arts.so
%endif
%if %{with_pa}
%files pulseaudio
%defattr(-,root,root,-)
-%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_pulseaudio.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_pulseaudio.so
%endif
%files extras
%defattr(-,root,root,-)
-%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_esd.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_jack.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_gdk_pixbuf.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_esd.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_jack.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_gdk_pixbuf.so
%if 0%{!?_without_imagemagick:1}
-%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_image.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_image.so
%endif # imagemagick
-%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_gnome_vfs.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_smb.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_gnome_vfs.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_smb.so
%if %{with_aalib}
-%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_aa.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_aa.so
%endif # aalib
-%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_caca.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_caca.so
%if 0%{!?_without_directfb:1}
-%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_directfb.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_xdirectfb.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_directfb.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xdirectfb.so
%endif # directfb
-%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_sdl.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_sdl.so
%files devel
%defattr(-,root,root,-)
@@ -444,6 +439,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Fri Apr 03 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.3-1
+- xine-lib-1.1.16.3, plugin-abi 1.26
+
* Thu Mar 26 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.2-6
- add-mime-for-mod.patch
@@ -472,7 +470,7 @@ rm -rf $RPM_BUILD_ROOT
- safe-audio-pause patch (kdebug#180339)
* Mon Jan 26 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.1-2
-- Provides: xine-lib(plugin-abi)%%{?_isa} = %%{abiver}
+- Provides: xine-lib(plugin-abi)%%{?_isa} = %%{plugin_abi}
- touchup Summary/Description
* Fri Jan 23 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.1-1
commit 4fc20dbcd498750e34700a5d19e58d1e0e1449da
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Thu Mar 26 15:24:55 2009 +0000
fix patch for no fuzz
diff --git a/xine-lib-add-mime-for-mod.patch b/xine-lib-add-mime-for-mod.patch
index 4bfa944..371b062 100644
--- a/xine-lib-add-mime-for-mod.patch
+++ b/xine-lib-add-mime-for-mod.patch
@@ -20,4 +20,4 @@
+ "audio/xm; xm: FastTracker II Audio;";
}
- static void class_dispose (demux_class_t *this_gen) {
\ No newline at end of file
+ static void class_dispose (demux_class_t *this_gen) {
commit 47c9b778d82a8c353960d3038500754441f898ab
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Thu Mar 26 14:56:30 2009 +0000
* Thu Mar 26 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.2-6
- add-mime-for-mod.patch
diff --git a/xine-lib-add-mime-for-mod.patch b/xine-lib-add-mime-for-mod.patch
new file mode 100644
index 0000000..4bfa944
--- /dev/null
+++ b/xine-lib-add-mime-for-mod.patch
@@ -0,0 +1,23 @@
+--- src/demuxers/demux_mod.c 2009-02-08 20:56:51.000000000 +0200
++++ src/demuxers/demux_mod.c.add-mime 2009-03-25 19:41:03.259017840 +0200
+@@ -379,7 +379,19 @@
+ }
+
+ static const char *get_mimetypes (demux_class_t *this_gen) {
+- return NULL;
++ return "audio/x-mod: mod: SoundTracker/NoiseTracker/ProTracker Module;"
++ "audio/mod: mod: SoundTracker/NoiseTracker/ProTracker Module;"
++ "audio/it: it: ImpulseTracker Module;"
++ "audio/x-it: it: ImpulseTracker Module;"
++ "audio/x-stm: stm: ScreamTracker 2 Module;"
++ "audio/x-s3m: s3m: ScreamTracker 3 Module;"
++ "audio/s3m: s3m: ScreamTracker 3 Module;"
++ "application/playerpro: 669: 669 Tracker Module;"
++ "application/adrift; amf: ADRIFT Module File;"
++ "audio/med; med; Amiga MED/OctaMED Tracker Module Sound File;"
++ "audio/x-amf; amf: ADRIFT Module File;"
++ "audio/x-xm; xm: FastTracker II Audio;"
++ "audio/xm; xm: FastTracker II Audio;";
+ }
+
+ static void class_dispose (demux_class_t *this_gen) {
\ No newline at end of file
diff --git a/xine-lib.spec b/xine-lib.spec
index 8fac3ad..825bedf 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -34,7 +34,7 @@
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.16.2
-Release: 5%{?dist}
+Release: 6%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -56,7 +56,8 @@ Patch8: xine-lib-1.1.15-avsync_hack.patch
# http://bugzilla.redhat.com/477226
Patch9: xine-lib-1.1.16.2-multilib.patch
## upstream patches
-Patch100: xine-lib-safe-audio-pause3.patch
+Patch100: xine-lib-safe-audio-pause3.patch
+Patch101: xine-lib-add-mime-for-mod.patch
Provides: xine-lib(plugin-abi) = %{abiver}
%if "%{?_isa}" != "%{nil}"
@@ -210,6 +211,7 @@ sed -i -e 's/caca >= 0\.99beta14 cucul >= 0\.99beta14/caca cucul/g' configure
%patch9 -p1 -b .multilib
%patch100 -p1 -b .safe_audio_pause
+%patch101 -p0 -b .add-mime-for-mod
# Avoid standard rpaths on lib64 archs: (autotools patch should handle this, no? -- Rex )
#sed -i -e 's|"/lib /usr/lib\b|"/%{_lib} %{_libdir}|' configure
@@ -442,6 +444,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Thu Mar 26 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.2-6
+- add-mime-for-mod.patch
+
* Tue Mar 10 2009 Kevin Kofler <Kevin(a)tigcc.ticalc.org> - 1.1.16.2-5
- rebuild for new ImageMagick
commit cf59925f13c986e95994d193f09d9e5898a89225
Author: Kevin Kofler <kkofler(a)fedoraproject.org>
Date: Tue Mar 10 01:10:54 2009 +0000
* Tue Mar 10 2009 Kevin Kofler <Kevin(a)tigcc.ticalc.org> - 1.1.16.2-5
- rebuild for new ImageMagick
diff --git a/xine-lib.spec b/xine-lib.spec
index ed3cee6..8fac3ad 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -34,7 +34,7 @@
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.16.2
-Release: 4%{?dist}
+Release: 5%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -442,6 +442,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Tue Mar 10 2009 Kevin Kofler <Kevin(a)tigcc.ticalc.org> - 1.1.16.2-5
+- rebuild for new ImageMagick
+
* Thu Feb 26 2009 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1.1.16.2-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
commit 5658e316553794546ad36929ccdb3d278fdc5e84
Author: Jesse Keating <jkeating(a)fedoraproject.org>
Date: Thu Feb 26 09:40:15 2009 +0000
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
diff --git a/xine-lib.spec b/xine-lib.spec
index aa0ffe4..ed3cee6 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -34,7 +34,7 @@
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.16.2
-Release: 3%{?dist}
+Release: 4%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -442,6 +442,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Thu Feb 26 2009 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1.1.16.2-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
+
* Fri Feb 20 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.2-3
- xine-lib-devel muiltilib conflict (#477226)
commit f7820e51d62cae32f078b18f860c560c2554febe
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Fri Feb 20 13:37:39 2009 +0000
* Fri Feb 20 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.2-3
- xine-lib-devel muiltilib conflict (#477226)
diff --git a/xine-lib-1.1.16.2-multilib.patch b/xine-lib-1.1.16.2-multilib.patch
new file mode 100644
index 0000000..4609e63
--- /dev/null
+++ b/xine-lib-1.1.16.2-multilib.patch
@@ -0,0 +1,16 @@
+diff -up xine-lib-1.1.16.2/misc/xine-config.in.multilib xine-lib-1.1.16.2/misc/xine-config.in
+--- xine-lib-1.1.16.2/misc/xine-config.in.multilib 2008-06-25 08:04:09.000000000 -0500
++++ xine-lib-1.1.16.2/misc/xine-config.in 2009-02-20 07:34:27.000000000 -0600
+@@ -6,12 +6,6 @@ unset prefix
+ unset exec_prefix
+ unset args
+
+-PKG_CONFIG_PATH="`cat <<'EOF'
+-@XINE_PKGCONFIG_DIR@
+-EOF
+-`${PKG_CONFIG_PATH:+:}$PKG_CONFIG_PATH"
+-export PKG_CONFIG_PATH
+-
+ usage()
+ {
+ cat <<EOF
diff --git a/xine-lib.spec b/xine-lib.spec
index ba2b3bf..aa0ffe4 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -34,7 +34,7 @@
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.16.2
-Release: 2%{?dist}
+Release: 3%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -53,6 +53,8 @@ Patch6: %{name}-1.1.1-deepbind-939.patch
Patch7: %{name}-1.1.16-old-caca.patch
# http://bugzilla.redhat.com/470568
Patch8: xine-lib-1.1.15-avsync_hack.patch
+# http://bugzilla.redhat.com/477226
+Patch9: xine-lib-1.1.16.2-multilib.patch
## upstream patches
Patch100: xine-lib-safe-audio-pause3.patch
@@ -205,6 +207,7 @@ sed -i -e 's/caca >= 0\.99beta14 cucul >= 0\.99beta14/caca cucul/g' configure
%endif
%patch8 -p1 -b .avsync_hack
+%patch9 -p1 -b .multilib
%patch100 -p1 -b .safe_audio_pause
@@ -439,8 +442,11 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Fri Feb 20 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.2-3
+- xine-lib-devel muiltilib conflict (#477226)
+
* Tue Feb 17 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.2-2
-- xine-lib-safe-audio-pause3 patch (kdebug#180339)
+- xine-lib-safe-audio-pause3 patch (#486255, kdebug#180339)
* Tue Feb 10 2009 Kevin Kofler <Kevin(a)tigcc.ticalc.org> - 1.1.16.2-1.1
- also patch the caca version check in configure(.ac)
commit 866427bb6095d28da19606551ea4e55648715b12
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Tue Feb 17 21:23:03 2009 +0000
* Tue Feb 17 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.2-2
- xine-lib-safe-audio-pause3 patch (kdebug#180339)
diff --git a/xine-lib-safe-audio-pause.patch b/xine-lib-safe-audio-pause3.patch
similarity index 75%
rename from xine-lib-safe-audio-pause.patch
rename to xine-lib-safe-audio-pause3.patch
index 4a4b70b..fdfbf8a 100644
--- a/xine-lib-safe-audio-pause.patch
+++ b/xine-lib-safe-audio-pause3.patch
@@ -1,6 +1,14 @@
-diff -r ce4b1533a0af src/xine-engine/audio_out.c
---- a/src/xine-engine/audio_out.c Sun Jan 11 22:24:42 2009 +0000
-+++ b/src/xine-engine/audio_out.c Sat Feb 07 15:09:24 2009 -0200
+# HG changeset patch
+# User Miguel Freitas <miguelfreitas(a)users.sourceforge.net>
+# Date 1234834587 10800
+# Node ID 2208e465026c1e54318d36dad8ca180d52fcc318
+# Parent 24a9b3d531419405f71dbcf96da93876769eb990
+Protect audio loop so it cannot write to a paused device (fix
+pause/resume freeze with pulseaudio).
+
+diff -r 24a9b3d53141 -r 2208e465026c src/xine-engine/audio_out.c
+--- a/src/xine-engine/audio_out.c Fri Feb 13 18:01:29 2009 +0000
++++ b/src/xine-engine/audio_out.c Mon Feb 16 22:36:27 2009 -0300
@@ -243,6 +243,7 @@
audio_fifo_t *free_fifo;
audio_fifo_t *out_fifo;
@@ -49,23 +57,25 @@ diff -r ce4b1533a0af src/xine-engine/audio_out.c
pthread_mutex_destroy(&this->flush_audio_driver_lock);
pthread_cond_destroy(&this->flush_audio_driver_reached);
-@@ -1910,11 +1916,15 @@
+@@ -1910,8 +1916,15 @@
if (value != XINE_FINE_SPEED_NORMAL && value != XINE_SPEED_PAUSE && !this->slow_fast_audio )
this->ao.control(&this->ao, AO_CTRL_FLUSH_BUFFERS, NULL);
-+ /* current_speed_lock is here to make sure the ao_loop will pause in a safe place.
-+ * that is, we cannot pause writing to device, filling gaps etc. */
-+ pthread_mutex_lock(&this->current_speed_lock);
- this->ao.control(&this->ao,
- (value == XINE_SPEED_PAUSE) ? AO_CTRL_PLAY_PAUSE : AO_CTRL_PLAY_RESUME, NULL);
+- this->ao.control(&this->ao,
+- (value == XINE_SPEED_PAUSE) ? AO_CTRL_PLAY_PAUSE : AO_CTRL_PLAY_RESUME, NULL);
++ if( value == XINE_SPEED_PAUSE ) {
++ /* current_speed_lock is here to make sure the ao_loop will pause in a safe place.
++ * that is, we cannot pause writing to device, filling gaps etc. */
++ pthread_mutex_lock(&this->current_speed_lock);
++ this->ao.control(&this->ao, AO_CTRL_PLAY_PAUSE, NULL);
++ pthread_mutex_unlock(&this->current_speed_lock);
++ } else {
++ this->ao.control(&this->ao, AO_CTRL_PLAY_RESUME, NULL);
++ }
this->current_speed = value;
if( this->slow_fast_audio )
ao_update_resample_factor(this);
-+ pthread_mutex_unlock(&this->current_speed_lock);
- break;
-
- default:
-@@ -2056,6 +2066,7 @@
+@@ -2056,6 +2069,7 @@
this->driver = driver;
this->xine = xine;
this->clock = xine->clock;
@@ -73,7 +83,7 @@ diff -r ce4b1533a0af src/xine-engine/audio_out.c
this->streams = xine_list_new();
/* warning: driver_lock is a recursive mutex. it must NOT be
-@@ -2087,6 +2098,7 @@
+@@ -2087,6 +2101,7 @@
this->discard_buffers = 0;
this->zero_space = calloc (1, ZERO_BUF_SIZE * 4 * 6); /* MAX as 32bit, 6 channels. */
@@ -81,9 +91,9 @@ diff -r ce4b1533a0af src/xine-engine/audio_out.c
pthread_mutex_init( &this->flush_audio_driver_lock, NULL );
pthread_cond_init( &this->flush_audio_driver_reached, NULL );
-diff -r ce4b1533a0af src/xine-engine/xine.c
---- a/src/xine-engine/xine.c Sun Jan 11 22:24:42 2009 +0000
-+++ b/src/xine-engine/xine.c Sat Feb 07 15:09:25 2009 -0200
+diff -r 24a9b3d53141 -r 2208e465026c src/xine-engine/xine.c
+--- a/src/xine-engine/xine.c Fri Feb 13 18:01:29 2009 +0000
++++ b/src/xine-engine/xine.c Mon Feb 16 22:36:27 2009 -0300
@@ -330,17 +330,20 @@
static void set_speed_internal (xine_stream_t *stream, int speed) {
@@ -114,7 +124,7 @@ diff -r ce4b1533a0af src/xine-engine/xine.c
xine->port_ticket->release(xine->port_ticket, 1);
}
+
-+ if (old_speed == XINE_SPEED_PAUSE && speed != XINE_SPEED_PAUSE)
++ if (old_speed == XINE_SPEED_PAUSE || speed != XINE_SPEED_PAUSE)
+ /* master clock is set after resuming the audio device (audio_out loop may continue) */
+ stream->xine->clock->set_fine_speed (stream->xine->clock, speed);
}
diff --git a/xine-lib.spec b/xine-lib.spec
index 74cbcd8..ba2b3bf 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -34,7 +34,7 @@
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.16.2
-Release: 1%{?dist}.1
+Release: 2%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -54,7 +54,7 @@ Patch7: %{name}-1.1.16-old-caca.patch
# http://bugzilla.redhat.com/470568
Patch8: xine-lib-1.1.15-avsync_hack.patch
## upstream patches
-Patch100: xine-lib-safe-audio-pause.patch
+Patch100: xine-lib-safe-audio-pause3.patch
Provides: xine-lib(plugin-abi) = %{abiver}
%if "%{?_isa}" != "%{nil}"
@@ -439,6 +439,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Tue Feb 17 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.2-2
+- xine-lib-safe-audio-pause3 patch (kdebug#180339)
+
* Tue Feb 10 2009 Kevin Kofler <Kevin(a)tigcc.ticalc.org> - 1.1.16.2-1.1
- also patch the caca version check in configure(.ac)
commit 04cb6e43933afac81f6a42a62923ebad10eb54cd
Author: Kevin Kofler <kkofler(a)fedoraproject.org>
Date: Wed Feb 11 00:01:43 2009 +0000
Sync F9 change up so we don't lose the change when syncing.
diff --git a/xine-lib.spec b/xine-lib.spec
index 5170e18..74cbcd8 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -34,7 +34,7 @@
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.16.2
-Release: 1%{?dist}
+Release: 1%{?dist}.1
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -50,7 +50,6 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Patch1: %{name}-1.1.4-optflags.patch
Patch6: %{name}-1.1.1-deepbind-939.patch
-# FIXME for 1.1.16.1 ?
Patch7: %{name}-1.1.16-old-caca.patch
# http://bugzilla.redhat.com/470568
Patch8: xine-lib-1.1.15-avsync_hack.patch
@@ -188,6 +187,9 @@ This package contains extra plugins for %{name}:
%prep
%setup -q
+%if 0%{?old_caca}
+sed -i -e 's/caca >= 0\.99beta14 cucul >= 0\.99beta14/caca cucul/g' configure.ac
+%endif
%patch0 -p1 -b .autotools
touch -r configure.ac aclocal.m4
touch -r m4/optimizations.m4 m4/optimizations.m4.stamp
@@ -198,6 +200,7 @@ touch -r m4/optimizations.m4.stamp m4/optimizations.m4
#patch6 -p1 -b .deepbind
%if 0%{?old_caca}
+sed -i -e 's/caca >= 0\.99beta14 cucul >= 0\.99beta14/caca cucul/g' configure
%patch7 -p0 -b .old-caca
%endif
@@ -436,6 +439,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Tue Feb 10 2009 Kevin Kofler <Kevin(a)tigcc.ticalc.org> - 1.1.16.2-1.1
+- also patch the caca version check in configure(.ac)
+
* Tue Feb 10 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.2-1
- xine-lib-1.1.16.2
commit b49ffe308e7099e712374e83dd9eab11360ca523
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Tue Feb 10 23:03:37 2009 +0000
* Tue Feb 10 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.2-1
- xine-lib-1.1.16.2
diff --git a/.cvsignore b/.cvsignore
index 34a3b02..8a0cd42 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -1,2 +1,2 @@
-xine-lib-1.1.16.1-autotools.patch.bz2
-xine-lib-1.1.16.1-pruned.tar.bz2
+xine-lib-1.1.16.2-pruned.tar.bz2
+xine-lib-1.1.16.2-autotools.patch.bz2
diff --git a/sources b/sources
index 9a7e9c8..95d5764 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-e3e061f93f36eae910b66cb0c973dbb8 xine-lib-1.1.16.1-autotools.patch.bz2
-aa1265b1007086c0906ec8134cfeacf6 xine-lib-1.1.16.1-pruned.tar.bz2
+e2c3a178be02f5c32957b2716123aa28 xine-lib-1.1.16.2-pruned.tar.bz2
+07bf186d51b8315026453a2f21b33703 xine-lib-1.1.16.2-autotools.patch.bz2
diff --git a/xine-lib-1.1.16.1-gapless_race_fix.patch b/xine-lib-1.1.16.1-gapless_race_fix.patch
deleted file mode 100644
index ec46cbf..0000000
--- a/xine-lib-1.1.16.1-gapless_race_fix.patch
+++ /dev/null
@@ -1,144 +0,0 @@
-diff -up xine-lib-1.1.16.1/src/xine-engine/audio_out.c.gapless_rate_fix xine-lib-1.1.16.1/src/xine-engine/audio_out.c
---- xine-lib-1.1.16.1/src/xine-engine/audio_out.c.gapless_rate_fix 2009-02-09 07:30:08.000000000 -0600
-+++ xine-lib-1.1.16.1/src/xine-engine/audio_out.c 2009-02-09 07:30:08.000000000 -0600
-@@ -1623,7 +1623,7 @@ static void ao_close(xine_audio_port_t *
- pthread_mutex_unlock(&this->streams_lock);
-
- /* close driver if no streams left */
-- if (!ite && !this->grab_only && !stream->gapless_switch) {
-+ if (!ite && !this->grab_only && !stream->keep_ao_driver_open) {
- xprintf (this->xine, XINE_VERBOSITY_DEBUG, "audio_out: no streams left, closing driver\n");
-
- if (this->audio_loop_running) {
-diff -up xine-lib-1.1.16.1/src/xine-engine/video_decoder.c.gapless_rate_fix xine-lib-1.1.16.1/src/xine-engine/video_decoder.c
---- xine-lib-1.1.16.1/src/xine-engine/video_decoder.c.gapless_rate_fix 2008-04-28 08:30:56.000000000 -0500
-+++ xine-lib-1.1.16.1/src/xine-engine/video_decoder.c 2009-02-09 07:31:36.000000000 -0600
-@@ -160,7 +160,7 @@ static void *video_decoder_loop (void *s
-
- running_ticket->release(running_ticket, 0);
-
-- if( !stream->gapless_switch )
-+ if( !(buf->decoder_flags & BUF_FLAG_GAPLESS_SW) )
- stream->metronom->handle_video_discontinuity (stream->metronom,
- DISC_STREAMSTART, 0);
-
-diff -up xine-lib-1.1.16.1/src/xine-engine/xine.c.gapless_rate_fix xine-lib-1.1.16.1/src/xine-engine/xine.c
---- xine-lib-1.1.16.1/src/xine-engine/xine.c.gapless_rate_fix 2009-02-09 07:30:08.000000000 -0600
-+++ xine-lib-1.1.16.1/src/xine-engine/xine.c 2009-02-09 07:30:08.000000000 -0600
-@@ -426,6 +426,7 @@ void xine_stop (xine_stream_t *stream) {
- static void close_internal (xine_stream_t *stream) {
-
- int i ;
-+ int gapless_switch = stream->gapless_switch;
-
- if( stream->slave ) {
- xine_close( stream->slave );
-@@ -436,7 +437,7 @@ static void close_internal (xine_stream_
- }
- }
-
-- if( !stream->gapless_switch ) {
-+ if( !gapless_switch ) {
- /* make sure that other threads cannot change the speed, especially pauseing the stream */
- pthread_mutex_lock(&stream->speed_change_lock);
- stream->ignore_speed_change = 1;
-@@ -452,7 +453,7 @@ static void close_internal (xine_stream_
-
- stop_internal( stream );
-
-- if( !stream->gapless_switch ) {
-+ if( !gapless_switch ) {
- if (stream->video_out)
- stream->video_out->set_property(stream->video_out, VO_PROP_DISCARD_FRAMES, 0);
- if (stream->audio_out)
-@@ -603,6 +604,7 @@ xine_stream_t *xine_stream_new (xine_t *
- stream->early_finish_event = 0;
- stream->delay_finish_event = 0;
- stream->gapless_switch = 0;
-+ stream->keep_ao_driver_open = 0;
-
- stream->video_out = vo;
- if (vo)
-diff -up xine-lib-1.1.16.1/src/xine-engine/buffer.h.gapless_rate_fix xine-lib-1.1.16.1/src/xine-engine/buffer.h
---- xine-lib-1.1.16.1/src/xine-engine/buffer.h.gapless_rate_fix 2009-01-10 19:25:34.000000000 -0600
-+++ xine-lib-1.1.16.1/src/xine-engine/buffer.h 2009-02-09 07:30:08.000000000 -0600
-@@ -378,6 +378,9 @@ struct buf_element_s {
- * decoder_info[2] carries denominator for display aspect ratio */
- #define BUF_FLAG_ASPECT 0x0800
-
-+/* represent the state of gapless_switch at the time buf was enqueued */
-+#define BUF_FLAG_GAPLESS_SW 0x1000
-+
-
- /* Special buffer types:
- * Sometimes there is a need to relay special information from a demuxer
-diff -up xine-lib-1.1.16.1/src/xine-engine/demux.c.gapless_rate_fix xine-lib-1.1.16.1/src/xine-engine/demux.c
---- xine-lib-1.1.16.1/src/xine-engine/demux.c.gapless_rate_fix 2009-01-10 19:25:34.000000000 -0600
-+++ xine-lib-1.1.16.1/src/xine-engine/demux.c 2009-02-09 07:30:08.000000000 -0600
-@@ -228,15 +228,18 @@ void _x_demux_control_headers_done (xine
- void _x_demux_control_start( xine_stream_t *stream ) {
-
- buf_element_t *buf;
-+ uint32_t flags = (stream->gapless_switch) ? BUF_FLAG_GAPLESS_SW : 0;
-
- pthread_mutex_lock(&stream->demux_mutex);
-
- buf = stream->video_fifo->buffer_pool_alloc (stream->video_fifo);
- buf->type = BUF_CONTROL_START;
-+ buf->decoder_flags = flags;
- stream->video_fifo->put (stream->video_fifo, buf);
-
- buf = stream->audio_fifo->buffer_pool_alloc (stream->audio_fifo);
- buf->type = BUF_CONTROL_START;
-+ buf->decoder_flags = flags;
- stream->audio_fifo->put (stream->audio_fifo, buf);
-
- pthread_mutex_unlock(&stream->demux_mutex);
-diff -up xine-lib-1.1.16.1/src/xine-engine/audio_decoder.c.gapless_rate_fix xine-lib-1.1.16.1/src/xine-engine/audio_decoder.c
---- xine-lib-1.1.16.1/src/xine-engine/audio_decoder.c.gapless_rate_fix 2008-04-28 08:30:56.000000000 -0500
-+++ xine-lib-1.1.16.1/src/xine-engine/audio_decoder.c 2009-02-09 07:30:08.000000000 -0600
-@@ -89,16 +89,18 @@ static void *audio_decoder_loop (void *s
- if (stream->audio_decoder_plugin) {
-
- lprintf ("close old decoder\n");
--
-+
-+ stream->keep_ao_driver_open = !!(buf->decoder_flags & BUF_FLAG_GAPLESS_SW);
- _x_free_audio_decoder (stream, stream->audio_decoder_plugin);
- stream->audio_decoder_plugin = NULL;
- stream->audio_track_map_entries = 0;
- stream->audio_type = 0;
-+ stream->keep_ao_driver_open = 0;
- }
-
- running_ticket->release(running_ticket, 0);
-
-- if( !stream->gapless_switch )
-+ if( !(buf->decoder_flags & BUF_FLAG_GAPLESS_SW) )
- stream->metronom->handle_audio_discontinuity (stream->metronom, DISC_STREAMSTART, 0);
-
- buftype_unknown = 0;
-diff -up xine-lib-1.1.16.1/src/xine-engine/xine_interface.c.gapless_rate_fix xine-lib-1.1.16.1/src/xine-engine/xine_interface.c
---- xine-lib-1.1.16.1/src/xine-engine/xine_interface.c.gapless_rate_fix 2008-07-12 17:52:01.000000000 -0500
-+++ xine-lib-1.1.16.1/src/xine-engine/xine_interface.c 2009-02-09 07:30:08.000000000 -0600
-@@ -527,6 +527,9 @@ void xine_set_param (xine_stream_t *stre
-
- case XINE_PARAM_GAPLESS_SWITCH:
- stream->gapless_switch = !!value;
-+ if( stream->gapless_switch && !stream->early_finish_event ) {
-+ xprintf (stream->xine, XINE_VERBOSITY_DEBUG, "frontend possibly buggy: gapless_switch without early_finish_event\n");
-+ }
- break;
-
- default:
-diff -up xine-lib-1.1.16.1/src/xine-engine/xine_internal.h.gapless_rate_fix xine-lib-1.1.16.1/src/xine-engine/xine_internal.h
---- xine-lib-1.1.16.1/src/xine-engine/xine_internal.h.gapless_rate_fix 2008-08-24 16:51:15.000000000 -0500
-+++ xine-lib-1.1.16.1/src/xine-engine/xine_internal.h 2009-02-09 07:30:08.000000000 -0600
-@@ -361,6 +361,7 @@ struct xine_stream_s {
- int early_finish_event; /* do not wait fifos get empty before sending event */
- int gapless_switch; /* next stream switch will be gapless */
- int delay_finish_event; /* delay event in 1/10 sec units. 0=>no delay, -1=>forever */
-+ int keep_ao_driver_open;
- #endif
- };
-
diff --git a/xine-lib-mk-autotools-patch.sh b/xine-lib-mk-autotools-patch.sh
index 93590b4..dc1e103 100644
--- a/xine-lib-mk-autotools-patch.sh
+++ b/xine-lib-mk-autotools-patch.sh
@@ -22,10 +22,12 @@ rm -rf xine-lib-$version xine-lib-$version-pruned
tar jxf xine-lib-$version-pruned.tar.bz2
cp -a xine-lib-$version xine-lib-$version-pruned
-cd xine-lib-$version
+pushd xine-lib-$version
+# extra work for to omit old libtool-related crud
+rm -f configure ltmain.sh libtool m4/libtool.m4 m4/ltoptions.m4 m4/ltversion.m4
./autogen.sh noconfig
rm -rf autom4te.cache *~
-cd ..
+popd
diff -Nru xine-lib-$version-pruned xine-lib-$version \
| bzip2 --best > xine-lib-$version-autotools.patch.bz2
diff --git a/xine-lib.spec b/xine-lib.spec
index 865f801..5170e18 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -33,8 +33,8 @@
Summary: A multimedia engine
Name: xine-lib
-Version: 1.1.16.1
-Release: 4%{?dist}
+Version: 1.1.16.2
+Release: 1%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -56,7 +56,6 @@ Patch7: %{name}-1.1.16-old-caca.patch
Patch8: xine-lib-1.1.15-avsync_hack.patch
## upstream patches
Patch100: xine-lib-safe-audio-pause.patch
-Patch101: xine-lib-1.1.16.1-gapless_race_fix.patch
Provides: xine-lib(plugin-abi) = %{abiver}
%if "%{?_isa}" != "%{nil}"
@@ -205,7 +204,6 @@ touch -r m4/optimizations.m4.stamp m4/optimizations.m4
%patch8 -p1 -b .avsync_hack
%patch100 -p1 -b .safe_audio_pause
-%patch101 -p1 -b .gapless_race_fix
# Avoid standard rpaths on lib64 archs: (autotools patch should handle this, no? -- Rex )
#sed -i -e 's|"/lib /usr/lib\b|"/%{_lib} %{_libdir}|' configure
@@ -438,6 +436,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Tue Feb 10 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.2-1
+- xine-lib-1.1.16.2
+
* Mon Feb 09 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.1-4
- gapless-race-fix patch (kdebug#180339)
commit 86f35fbab4d5d7b48f72ec3f576b2586386e2073
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Mon Feb 9 13:42:26 2009 +0000
fix bogus typo
diff --git a/xine-lib.spec b/xine-lib.spec
index 2a29d59..865f801 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -90,7 +90,7 @@ BuildRequires: directfb-devel
BuildRequires: ImageMagick-devel >= 6.2.4.6-1
%endif # imagemagick
%if 0%{?_with_freetype:1}
-BuildRequires: fontcotnfig-devel
+BuildRequires: fontconfig-devel
%endif # freetype
# Audio
BuildRequires: alsa-lib-devel >= 0.9.0
commit 36c65a75b1d7d2345971b27c0d3b13872ce77f6d
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Mon Feb 9 13:38:55 2009 +0000
* Mon Feb 09 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.1-4
- gapless-race-fix patch (kdebug#180339)
diff --git a/xine-lib-1.1.16.1-gapless_race_fix.patch b/xine-lib-1.1.16.1-gapless_race_fix.patch
new file mode 100644
index 0000000..ec46cbf
--- /dev/null
+++ b/xine-lib-1.1.16.1-gapless_race_fix.patch
@@ -0,0 +1,144 @@
+diff -up xine-lib-1.1.16.1/src/xine-engine/audio_out.c.gapless_rate_fix xine-lib-1.1.16.1/src/xine-engine/audio_out.c
+--- xine-lib-1.1.16.1/src/xine-engine/audio_out.c.gapless_rate_fix 2009-02-09 07:30:08.000000000 -0600
++++ xine-lib-1.1.16.1/src/xine-engine/audio_out.c 2009-02-09 07:30:08.000000000 -0600
+@@ -1623,7 +1623,7 @@ static void ao_close(xine_audio_port_t *
+ pthread_mutex_unlock(&this->streams_lock);
+
+ /* close driver if no streams left */
+- if (!ite && !this->grab_only && !stream->gapless_switch) {
++ if (!ite && !this->grab_only && !stream->keep_ao_driver_open) {
+ xprintf (this->xine, XINE_VERBOSITY_DEBUG, "audio_out: no streams left, closing driver\n");
+
+ if (this->audio_loop_running) {
+diff -up xine-lib-1.1.16.1/src/xine-engine/video_decoder.c.gapless_rate_fix xine-lib-1.1.16.1/src/xine-engine/video_decoder.c
+--- xine-lib-1.1.16.1/src/xine-engine/video_decoder.c.gapless_rate_fix 2008-04-28 08:30:56.000000000 -0500
++++ xine-lib-1.1.16.1/src/xine-engine/video_decoder.c 2009-02-09 07:31:36.000000000 -0600
+@@ -160,7 +160,7 @@ static void *video_decoder_loop (void *s
+
+ running_ticket->release(running_ticket, 0);
+
+- if( !stream->gapless_switch )
++ if( !(buf->decoder_flags & BUF_FLAG_GAPLESS_SW) )
+ stream->metronom->handle_video_discontinuity (stream->metronom,
+ DISC_STREAMSTART, 0);
+
+diff -up xine-lib-1.1.16.1/src/xine-engine/xine.c.gapless_rate_fix xine-lib-1.1.16.1/src/xine-engine/xine.c
+--- xine-lib-1.1.16.1/src/xine-engine/xine.c.gapless_rate_fix 2009-02-09 07:30:08.000000000 -0600
++++ xine-lib-1.1.16.1/src/xine-engine/xine.c 2009-02-09 07:30:08.000000000 -0600
+@@ -426,6 +426,7 @@ void xine_stop (xine_stream_t *stream) {
+ static void close_internal (xine_stream_t *stream) {
+
+ int i ;
++ int gapless_switch = stream->gapless_switch;
+
+ if( stream->slave ) {
+ xine_close( stream->slave );
+@@ -436,7 +437,7 @@ static void close_internal (xine_stream_
+ }
+ }
+
+- if( !stream->gapless_switch ) {
++ if( !gapless_switch ) {
+ /* make sure that other threads cannot change the speed, especially pauseing the stream */
+ pthread_mutex_lock(&stream->speed_change_lock);
+ stream->ignore_speed_change = 1;
+@@ -452,7 +453,7 @@ static void close_internal (xine_stream_
+
+ stop_internal( stream );
+
+- if( !stream->gapless_switch ) {
++ if( !gapless_switch ) {
+ if (stream->video_out)
+ stream->video_out->set_property(stream->video_out, VO_PROP_DISCARD_FRAMES, 0);
+ if (stream->audio_out)
+@@ -603,6 +604,7 @@ xine_stream_t *xine_stream_new (xine_t *
+ stream->early_finish_event = 0;
+ stream->delay_finish_event = 0;
+ stream->gapless_switch = 0;
++ stream->keep_ao_driver_open = 0;
+
+ stream->video_out = vo;
+ if (vo)
+diff -up xine-lib-1.1.16.1/src/xine-engine/buffer.h.gapless_rate_fix xine-lib-1.1.16.1/src/xine-engine/buffer.h
+--- xine-lib-1.1.16.1/src/xine-engine/buffer.h.gapless_rate_fix 2009-01-10 19:25:34.000000000 -0600
++++ xine-lib-1.1.16.1/src/xine-engine/buffer.h 2009-02-09 07:30:08.000000000 -0600
+@@ -378,6 +378,9 @@ struct buf_element_s {
+ * decoder_info[2] carries denominator for display aspect ratio */
+ #define BUF_FLAG_ASPECT 0x0800
+
++/* represent the state of gapless_switch at the time buf was enqueued */
++#define BUF_FLAG_GAPLESS_SW 0x1000
++
+
+ /* Special buffer types:
+ * Sometimes there is a need to relay special information from a demuxer
+diff -up xine-lib-1.1.16.1/src/xine-engine/demux.c.gapless_rate_fix xine-lib-1.1.16.1/src/xine-engine/demux.c
+--- xine-lib-1.1.16.1/src/xine-engine/demux.c.gapless_rate_fix 2009-01-10 19:25:34.000000000 -0600
++++ xine-lib-1.1.16.1/src/xine-engine/demux.c 2009-02-09 07:30:08.000000000 -0600
+@@ -228,15 +228,18 @@ void _x_demux_control_headers_done (xine
+ void _x_demux_control_start( xine_stream_t *stream ) {
+
+ buf_element_t *buf;
++ uint32_t flags = (stream->gapless_switch) ? BUF_FLAG_GAPLESS_SW : 0;
+
+ pthread_mutex_lock(&stream->demux_mutex);
+
+ buf = stream->video_fifo->buffer_pool_alloc (stream->video_fifo);
+ buf->type = BUF_CONTROL_START;
++ buf->decoder_flags = flags;
+ stream->video_fifo->put (stream->video_fifo, buf);
+
+ buf = stream->audio_fifo->buffer_pool_alloc (stream->audio_fifo);
+ buf->type = BUF_CONTROL_START;
++ buf->decoder_flags = flags;
+ stream->audio_fifo->put (stream->audio_fifo, buf);
+
+ pthread_mutex_unlock(&stream->demux_mutex);
+diff -up xine-lib-1.1.16.1/src/xine-engine/audio_decoder.c.gapless_rate_fix xine-lib-1.1.16.1/src/xine-engine/audio_decoder.c
+--- xine-lib-1.1.16.1/src/xine-engine/audio_decoder.c.gapless_rate_fix 2008-04-28 08:30:56.000000000 -0500
++++ xine-lib-1.1.16.1/src/xine-engine/audio_decoder.c 2009-02-09 07:30:08.000000000 -0600
+@@ -89,16 +89,18 @@ static void *audio_decoder_loop (void *s
+ if (stream->audio_decoder_plugin) {
+
+ lprintf ("close old decoder\n");
+-
++
++ stream->keep_ao_driver_open = !!(buf->decoder_flags & BUF_FLAG_GAPLESS_SW);
+ _x_free_audio_decoder (stream, stream->audio_decoder_plugin);
+ stream->audio_decoder_plugin = NULL;
+ stream->audio_track_map_entries = 0;
+ stream->audio_type = 0;
++ stream->keep_ao_driver_open = 0;
+ }
+
+ running_ticket->release(running_ticket, 0);
+
+- if( !stream->gapless_switch )
++ if( !(buf->decoder_flags & BUF_FLAG_GAPLESS_SW) )
+ stream->metronom->handle_audio_discontinuity (stream->metronom, DISC_STREAMSTART, 0);
+
+ buftype_unknown = 0;
+diff -up xine-lib-1.1.16.1/src/xine-engine/xine_interface.c.gapless_rate_fix xine-lib-1.1.16.1/src/xine-engine/xine_interface.c
+--- xine-lib-1.1.16.1/src/xine-engine/xine_interface.c.gapless_rate_fix 2008-07-12 17:52:01.000000000 -0500
++++ xine-lib-1.1.16.1/src/xine-engine/xine_interface.c 2009-02-09 07:30:08.000000000 -0600
+@@ -527,6 +527,9 @@ void xine_set_param (xine_stream_t *stre
+
+ case XINE_PARAM_GAPLESS_SWITCH:
+ stream->gapless_switch = !!value;
++ if( stream->gapless_switch && !stream->early_finish_event ) {
++ xprintf (stream->xine, XINE_VERBOSITY_DEBUG, "frontend possibly buggy: gapless_switch without early_finish_event\n");
++ }
+ break;
+
+ default:
+diff -up xine-lib-1.1.16.1/src/xine-engine/xine_internal.h.gapless_rate_fix xine-lib-1.1.16.1/src/xine-engine/xine_internal.h
+--- xine-lib-1.1.16.1/src/xine-engine/xine_internal.h.gapless_rate_fix 2008-08-24 16:51:15.000000000 -0500
++++ xine-lib-1.1.16.1/src/xine-engine/xine_internal.h 2009-02-09 07:30:08.000000000 -0600
+@@ -361,6 +361,7 @@ struct xine_stream_s {
+ int early_finish_event; /* do not wait fifos get empty before sending event */
+ int gapless_switch; /* next stream switch will be gapless */
+ int delay_finish_event; /* delay event in 1/10 sec units. 0=>no delay, -1=>forever */
++ int keep_ao_driver_open;
+ #endif
+ };
+
diff --git a/xine-lib.spec b/xine-lib.spec
index 5e94b77..2a29d59 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -34,7 +34,7 @@
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.16.1
-Release: 3%{?dist}
+Release: 4%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -56,6 +56,7 @@ Patch7: %{name}-1.1.16-old-caca.patch
Patch8: xine-lib-1.1.15-avsync_hack.patch
## upstream patches
Patch100: xine-lib-safe-audio-pause.patch
+Patch101: xine-lib-1.1.16.1-gapless_race_fix.patch
Provides: xine-lib(plugin-abi) = %{abiver}
%if "%{?_isa}" != "%{nil}"
@@ -89,7 +90,7 @@ BuildRequires: directfb-devel
BuildRequires: ImageMagick-devel >= 6.2.4.6-1
%endif # imagemagick
%if 0%{?_with_freetype:1}
-BuildRequires: fontconfig-devel
+BuildRequires: fontcotnfig-devel
%endif # freetype
# Audio
BuildRequires: alsa-lib-devel >= 0.9.0
@@ -204,6 +205,7 @@ touch -r m4/optimizations.m4.stamp m4/optimizations.m4
%patch8 -p1 -b .avsync_hack
%patch100 -p1 -b .safe_audio_pause
+%patch101 -p1 -b .gapless_race_fix
# Avoid standard rpaths on lib64 archs: (autotools patch should handle this, no? -- Rex )
#sed -i -e 's|"/lib /usr/lib\b|"/%{_lib} %{_libdir}|' configure
@@ -237,7 +239,6 @@ export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)"
--with-external-ffmpeg \
--with-xv-path=%{_libdir} \
--with-libflac \
- --with-external-libdvdnav \
--with-external-libmpcdec \
%if 0%{?_without_imagemagick:1}
--without-imagemagick \
@@ -437,8 +438,11 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Mon Feb 09 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.1-4
+- gapless-race-fix patch (kdebug#180339)
+
* Sat Feb 07 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.1-3
-- safe-audio-pause patch
+- safe-audio-pause patch (kdebug#180339)
* Mon Jan 26 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.1-2
- Provides: xine-lib(plugin-abi)%%{?_isa} = %%{abiver}
commit f2a263d5548faa3717da815fd11d78535349777f
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Sat Feb 7 19:29:38 2009 +0000
* Sat Feb 07 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.1-3
- safe-audio-pause patch
diff --git a/xine-lib-safe-audio-pause.patch b/xine-lib-safe-audio-pause.patch
new file mode 100644
index 0000000..4a4b70b
--- /dev/null
+++ b/xine-lib-safe-audio-pause.patch
@@ -0,0 +1,122 @@
+diff -r ce4b1533a0af src/xine-engine/audio_out.c
+--- a/src/xine-engine/audio_out.c Sun Jan 11 22:24:42 2009 +0000
++++ b/src/xine-engine/audio_out.c Sat Feb 07 15:09:24 2009 -0200
+@@ -243,6 +243,7 @@
+ audio_fifo_t *free_fifo;
+ audio_fifo_t *out_fifo;
+ int64_t last_audio_vpts;
++ pthread_mutex_t current_speed_lock;
+ uint32_t current_speed; /* the current playback speed */
+ /* FIXME: replace all this->clock->speed with this->current_speed. we should make
+ * sure nobody will change speed without going through xine.c:set_speed_internal */
+@@ -1040,6 +1041,7 @@
+ * we must process/free buffers otherwise the entire engine will stop.
+ */
+
++ pthread_mutex_lock(&this->current_speed_lock);
+ if ( this->audio_loop_running &&
+ (this->clock->speed == XINE_SPEED_PAUSE ||
+ (this->clock->speed != XINE_FINE_SPEED_NORMAL &&
+@@ -1055,6 +1057,7 @@
+ _x_refcounter_dec(in_buf->stream->refcounter);
+ fifo_append (this->free_fifo, in_buf);
+ in_buf = NULL;
++ pthread_mutex_unlock(&this->current_speed_lock);
+ continue;
+ }
+
+@@ -1065,6 +1068,7 @@
+ }
+
+ lprintf ("loop:pause: I feel sleepy (%d buffers).\n", this->out_fifo->num_buffers);
++ pthread_mutex_unlock(&this->current_speed_lock);
+ xine_usec_sleep (10000);
+ lprintf ("loop:pause: I wake up.\n");
+ continue;
+@@ -1274,6 +1278,7 @@
+ fifo_append (this->free_fifo, in_buf);
+ in_buf = NULL;
+ }
++ pthread_mutex_unlock(&this->current_speed_lock);
+
+ /* Give other threads a chance to use functions which require this->driver_lock to
+ * be available. This is needed when using NPTL on Linux (and probably PThreads
+@@ -1684,6 +1689,7 @@
+ free (this->frame_buf[1]);
+ free (this->zero_space);
+
++ pthread_mutex_destroy(&this->current_speed_lock);
+ pthread_mutex_destroy(&this->flush_audio_driver_lock);
+ pthread_cond_destroy(&this->flush_audio_driver_reached);
+
+@@ -1910,11 +1916,15 @@
+ if (value != XINE_FINE_SPEED_NORMAL && value != XINE_SPEED_PAUSE && !this->slow_fast_audio )
+ this->ao.control(&this->ao, AO_CTRL_FLUSH_BUFFERS, NULL);
+
++ /* current_speed_lock is here to make sure the ao_loop will pause in a safe place.
++ * that is, we cannot pause writing to device, filling gaps etc. */
++ pthread_mutex_lock(&this->current_speed_lock);
+ this->ao.control(&this->ao,
+ (value == XINE_SPEED_PAUSE) ? AO_CTRL_PLAY_PAUSE : AO_CTRL_PLAY_RESUME, NULL);
+ this->current_speed = value;
+ if( this->slow_fast_audio )
+ ao_update_resample_factor(this);
++ pthread_mutex_unlock(&this->current_speed_lock);
+ break;
+
+ default:
+@@ -2056,6 +2066,7 @@
+ this->driver = driver;
+ this->xine = xine;
+ this->clock = xine->clock;
++ this->current_speed = xine->clock->speed;
+ this->streams = xine_list_new();
+
+ /* warning: driver_lock is a recursive mutex. it must NOT be
+@@ -2087,6 +2098,7 @@
+ this->discard_buffers = 0;
+ this->zero_space = calloc (1, ZERO_BUF_SIZE * 4 * 6); /* MAX as 32bit, 6 channels. */
+
++ pthread_mutex_init( &this->current_speed_lock, NULL );
+ pthread_mutex_init( &this->flush_audio_driver_lock, NULL );
+ pthread_cond_init( &this->flush_audio_driver_reached, NULL );
+
+diff -r ce4b1533a0af src/xine-engine/xine.c
+--- a/src/xine-engine/xine.c Sun Jan 11 22:24:42 2009 +0000
++++ b/src/xine-engine/xine.c Sat Feb 07 15:09:25 2009 -0200
+@@ -330,17 +330,20 @@
+
+ static void set_speed_internal (xine_stream_t *stream, int speed) {
+ xine_t *xine = stream->xine;
++ int old_speed = xine->clock->speed;
+
+- if (xine->clock->speed != XINE_SPEED_PAUSE && speed == XINE_SPEED_PAUSE)
++ if (old_speed != XINE_SPEED_PAUSE && speed == XINE_SPEED_PAUSE)
+ /* get all decoder and post threads in a state where they agree to be blocked */
+ xine->port_ticket->revoke(xine->port_ticket, 0);
+
+- if (xine->clock->speed == XINE_SPEED_PAUSE && speed != XINE_SPEED_PAUSE)
++ if (old_speed == XINE_SPEED_PAUSE && speed != XINE_SPEED_PAUSE)
+ /* all decoder and post threads may continue now */
+ xine->port_ticket->issue(xine->port_ticket, 0);
+
+- stream->xine->clock->set_fine_speed (stream->xine->clock, speed);
+-
++ if (old_speed != XINE_SPEED_PAUSE && speed == XINE_SPEED_PAUSE)
++ /* set master clock so audio_out loop can pause in a safe place */
++ stream->xine->clock->set_fine_speed (stream->xine->clock, speed);
++
+ /* see coment on audio_out loop about audio_paused */
+ if( stream->audio_out ) {
+ xine->port_ticket->acquire(xine->port_ticket, 1);
+@@ -350,6 +353,10 @@
+
+ xine->port_ticket->release(xine->port_ticket, 1);
+ }
++
++ if (old_speed == XINE_SPEED_PAUSE && speed != XINE_SPEED_PAUSE)
++ /* master clock is set after resuming the audio device (audio_out loop may continue) */
++ stream->xine->clock->set_fine_speed (stream->xine->clock, speed);
+ }
+
+
diff --git a/xine-lib.spec b/xine-lib.spec
index 7fc7a08..5e94b77 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -34,7 +34,7 @@
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.16.1
-Release: 2%{?dist}
+Release: 3%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -55,6 +55,7 @@ Patch7: %{name}-1.1.16-old-caca.patch
# http://bugzilla.redhat.com/470568
Patch8: xine-lib-1.1.15-avsync_hack.patch
## upstream patches
+Patch100: xine-lib-safe-audio-pause.patch
Provides: xine-lib(plugin-abi) = %{abiver}
%if "%{?_isa}" != "%{nil}"
@@ -202,6 +203,8 @@ touch -r m4/optimizations.m4.stamp m4/optimizations.m4
%patch8 -p1 -b .avsync_hack
+%patch100 -p1 -b .safe_audio_pause
+
# Avoid standard rpaths on lib64 archs: (autotools patch should handle this, no? -- Rex )
#sed -i -e 's|"/lib /usr/lib\b|"/%{_lib} %{_libdir}|' configure
@@ -434,6 +437,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Sat Feb 07 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.1-3
+- safe-audio-pause patch
+
* Mon Jan 26 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.1-2
- Provides: xine-lib(plugin-abi)%%{?_isa} = %%{abiver}
- touchup Summary/Description
commit 39485d1605ba511f6c042980450d6ab6321c093d
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Mon Jan 26 16:58:47 2009 +0000
* Mon Jan 26 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.1-2
- Provides: xine-lib(plugin-abi)%{?_isa} = %{abiver}
- touchup Summary/Description
diff --git a/xine-lib.spec b/xine-lib.spec
index c8a0f1a..7fc7a08 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -31,10 +31,10 @@
%define _without_arts --without-arts
%endif
-Summary: Xine library
+Summary: A multimedia engine
Name: xine-lib
Version: 1.1.16.1
-Release: 1%{?dist}
+Release: 2%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -57,6 +57,9 @@ Patch8: xine-lib-1.1.15-avsync_hack.patch
## upstream patches
Provides: xine-lib(plugin-abi) = %{abiver}
+%if "%{?_isa}" != "%{nil}"
+Provides: xine-lib(plugin-abi)%{?_isa} = %{abiver}
+%endif
# X11
BuildRequires: libX11-devel
BuildRequires: libXv-devel
@@ -119,13 +122,10 @@ BuildRequires: samba-common
BuildRequires: libdvdnav-devel
%description
-This package contains the Xine library. Xine is a free multimedia player.
-It can play back various media. It also decodes multimedia files from local
-disk drives, and displays multimedia streamed over the Internet. It
-interprets many of the most common multimedia formats available - and some
-of the most uncommon formats, too. --with/--without rpmbuild options
-(some default values depend on target distribution): aalib, directfb,
-imagemagick, freetype, antialiasing (with freetype), pulseaudio, xcb.
+This package contains the Xine library. It can be used to play back
+various media, decode multimedia files from local disk drives, and display
+multimedia streamed over the Internet. It interprets many of the most
+common multimedia formats available - and some uncommon formats, too.
%package devel
Summary: Xine library development files
@@ -135,10 +135,10 @@ Requires: pkgconfig
Requires: zlib-devel
%description devel
-This package contains development files for xine-lib.
+This package contains development files for %{name}.
%package arts
-Summary: aRts plugin for xine-lib
+Summary: aRts plugin for %{name}
Group: System Environment/Libraries
Requires: %{name} = %{version}-%{release}
#Requires: xine-lib(plugin-abi) = %{abiver}
@@ -146,27 +146,27 @@ Requires: %{name} = %{version}-%{release}
Obsoletes: xine-lib-extras < 1.1.7-3
%description arts
-This package contains the aRts extra plugin for xine-lib.
+This package contains the aRts plugin for %{name}.
%package pulseaudio
-Summary: Pulseaudio plugin for xine-lib
+Summary: Pulseaudio plugin for %{name}
Group: System Environment/Libraries
Requires: %{name} = %{version}-%{release}
# -pulseaudio was split off -extras at 1.1.11.1-2
#Obsoletes: xine-lib-extras < 1.1.11.1-2
%description pulseaudio
-This package contains the pulseaudio plugin for xine-lib.
+This package contains the pulseaudio plugin for %{name}.
%package extras
-Summary: Additional plugins for xine-lib
+Summary: Additional plugins for %{name}
Group: System Environment/Libraries
Requires: %{name} = %{version}-%{release}
#Requires: xine-lib(plugin-abi) = %{abiver}
%description extras
-This package contains extra plugins for xine-lib:
+This package contains extra plugins for %{name}:
- EsounD
- JACK
- GDK-Pixbuf
@@ -434,6 +434,10 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Mon Jan 26 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.1-2
+- Provides: xine-lib(plugin-abi)%%{?_isa} = %%{abiver}
+- touchup Summary/Description
+
* Fri Jan 23 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.1-1
- xine-lib-1.1.16.1
- include avsync patch (#470568)
commit 831b4c0a6ce959d76279ed2f9d4d79153c2895ee
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Fri Jan 23 14:32:05 2009 +0000
* Fri Jan 23 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.1-1
- xine-lib-1.1.16.1
- include avsync patch (#470568)
diff --git a/.cvsignore b/.cvsignore
index 606b324..34a3b02 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -1,2 +1,2 @@
-xine-lib-1.1.16-autotools.patch.bz2
-xine-lib-1.1.16-pruned.tar.bz2
+xine-lib-1.1.16.1-autotools.patch.bz2
+xine-lib-1.1.16.1-pruned.tar.bz2
diff --git a/sources b/sources
index f89d6ad..9a7e9c8 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-fe8148f2a0ec7b2e75ad509e8086e33f xine-lib-1.1.16-autotools.patch.bz2
-512f31d8414ef4654ca366c0dce37301 xine-lib-1.1.16-pruned.tar.bz2
+e3e061f93f36eae910b66cb0c973dbb8 xine-lib-1.1.16.1-autotools.patch.bz2
+aa1265b1007086c0906ec8134cfeacf6 xine-lib-1.1.16.1-pruned.tar.bz2
diff --git a/xine-lib-1.1.15-avsync_hack.patch b/xine-lib-1.1.15-avsync_hack.patch
new file mode 100644
index 0000000..f33aba4
--- /dev/null
+++ b/xine-lib-1.1.15-avsync_hack.patch
@@ -0,0 +1,22 @@
+diff -uNr xine-lib-1.1.15.orig/src/xine-engine/audio_out.c xine-lib-1.1.15/src/xine-engine/audio_out.c
+--- xine-lib-1.1.15.orig/src/xine-engine/audio_out.c 2008-07-10 18:19:10.000000000 +0200
++++ xine-lib-1.1.15/src/xine-engine/audio_out.c 2009-01-10 21:57:20.000000000 +0100
+@@ -1151,8 +1151,17 @@
+
+ /*
+ * calculate gap:
++ *
++ * HACK (rwa): If we have no video stream we do not need an AV sync and so
++ * we assume a gap of 0. This seems to avoid the skips in the
++ * first seconds when playing audio-only via the "glitch-free"
++ * pulseaudio server.
+ */
+- gap = in_buf->vpts - hw_vpts;
++ if (in_buf && in_buf->stream && in_buf->stream->video_decoder_plugin) {
++ gap = in_buf->vpts - hw_vpts;
++ } else {
++ gap = 0;
++ }
+ lprintf ("hw_vpts : %" PRId64 " buffer_vpts : %" PRId64 " gap : %" PRId64 "\n",
+ hw_vpts, in_buf->vpts, gap);
+
diff --git a/xine-lib.spec b/xine-lib.spec
index 04f68fc..c8a0f1a 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -33,8 +33,8 @@
Summary: Xine library
Name: xine-lib
-Version: 1.1.16
-Release: 2%{?dist}
+Version: 1.1.16.1
+Release: 1%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -50,7 +50,10 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Patch1: %{name}-1.1.4-optflags.patch
Patch6: %{name}-1.1.1-deepbind-939.patch
+# FIXME for 1.1.16.1 ?
Patch7: %{name}-1.1.16-old-caca.patch
+# http://bugzilla.redhat.com/470568
+Patch8: xine-lib-1.1.15-avsync_hack.patch
## upstream patches
Provides: xine-lib(plugin-abi) = %{abiver}
@@ -73,7 +76,7 @@ BuildRequires: aalib-devel >= 1.4
%if 0%{?old_caca}
BuildRequires: libcaca-devel >= 0.99
%else
-BuildRequires: libcaca-devel >= 0.99-0.5.beta16
+BuildRequires: libcaca-devel >= 0.99-0.5.beta14
%endif
%if 0%{!?_without_directfb:1}
BuildRequires: directfb-devel
@@ -192,10 +195,13 @@ touch -r m4/optimizations.m4.stamp m4/optimizations.m4
# needed at least when compiling with external ffmpeg and internal faad livna bug#939.
# see also http://bugzilla.redhat.com/480504 for side-effects
#patch6 -p1 -b .deepbind
+
%if 0%{?old_caca}
%patch7 -p0 -b .old-caca
%endif
+%patch8 -p1 -b .avsync_hack
+
# Avoid standard rpaths on lib64 archs: (autotools patch should handle this, no? -- Rex )
#sed -i -e 's|"/lib /usr/lib\b|"/%{_lib} %{_libdir}|' configure
@@ -428,6 +434,10 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Fri Jan 23 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.1-1
+- xine-lib-1.1.16.1
+- include avsync patch (#470568)
+
* Sun Jan 18 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16-2
- drop deepbind patch (#480504)
- caca support (EPEL)
commit 57d454e4f28f8a375da8f8f374fadec18221030e
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Sun Jan 18 22:33:17 2009 +0000
make caca support unconditional
diff --git a/xine-lib.spec b/xine-lib.spec
index 7029552..04f68fc 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -19,12 +19,10 @@
%if 0%{?fedora}
%define with_aalib %{?_without_aalib:0}%{!?_without_aalib:1}
- %define with_caca %{?_without_caca:0}%{!?_without_caca:1}
%define with_pa %{?_without_pulseaudio:0}%{!?_without_pulseaudio:1}
%define with_xcb %{?_without_xcb:0}%{!?_without_xcb:1}
%else
%define with_aalib %{?_with_aalib:1}%{!?_with_aalib:0}
- %define with_caca %{?_with_caca:1}%{!?_with_caca:0}
%define with_pa %{?_with_pulseaudio:1}%{!?_with_pulseaudio:0}
%define with_xcb %{?_with_xcb:1}%{!?_with_xcb:0}
%endif # Fedora
@@ -72,13 +70,11 @@ BuildRequires: libmng-devel
%if %{with_aalib}
BuildRequires: aalib-devel >= 1.4
%endif # aalib
-%if %{with_caca}
%if 0%{?old_caca}
BuildRequires: libcaca-devel >= 0.99
%else
BuildRequires: libcaca-devel >= 0.99-0.5.beta16
%endif
-%endif # caca
%if 0%{!?_without_directfb:1}
BuildRequires: directfb-devel
%endif # directfb
@@ -125,7 +121,7 @@ It can play back various media. It also decodes multimedia files from local
disk drives, and displays multimedia streamed over the Internet. It
interprets many of the most common multimedia formats available - and some
of the most uncommon formats, too. --with/--without rpmbuild options
-(some default values depend on target distribution): aalib, caca, directfb,
+(some default values depend on target distribution): aalib, directfb,
imagemagick, freetype, antialiasing (with freetype), pulseaudio, xcb.
%package devel
@@ -177,9 +173,7 @@ This package contains extra plugins for xine-lib:
%if %{with_aalib}
- AA-lib
%endif # aalib
-%if %{with_caca}
- Libcaca
-%endif # caca
%if 0%{!?_without_imagemagick:1}
- Image decoding
%endif # imagemagick
@@ -226,6 +220,7 @@ export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)"
%if 0%{?_with_freetype:1}
%if 0%{?_with_antialiasing:1}
--enable-antialiasing \
+ --with-caca \
%endif # antialiasing
--with-freetype \
--with-fontconfig \
@@ -411,9 +406,7 @@ rm -rf $RPM_BUILD_ROOT
%if %{with_aalib}
%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_aa.so
%endif # aalib
-%if %{with_caca}
%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_caca.so
-%endif # caca
%if 0%{!?_without_directfb:1}
%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_directfb.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_xdirectfb.so
@@ -437,6 +430,7 @@ rm -rf $RPM_BUILD_ROOT
%changelog
* Sun Jan 18 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16-2
- drop deepbind patch (#480504)
+- caca support (EPEL)
* Wed Jan 07 2009 Kevin Kofler <Kevin(a)tigcc.ticalc.org> - 1.1.16-1.1
- patch for old libcaca in F9-
commit d117d577feaabdbc4a24b4907b0707cdf1d92e04
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Sun Jan 18 21:01:33 2009 +0000
* Sun Jan 18 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16-2
- drop deepbind patch (#480504)
diff --git a/xine-lib.spec b/xine-lib.spec
index eaffe59..7029552 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -36,7 +36,7 @@
Summary: Xine library
Name: xine-lib
Version: 1.1.16
-Release: 1%{?dist}.1
+Release: 2%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -195,8 +195,9 @@ touch -r configure.ac aclocal.m4
touch -r m4/optimizations.m4 m4/optimizations.m4.stamp
%patch1 -p1 -b .optflags
touch -r m4/optimizations.m4.stamp m4/optimizations.m4
-# Patch6 needed at least when compiling with external ffmpeg, #939.
-%patch6 -p1 -b .deepbind
+# needed at least when compiling with external ffmpeg and internal faad livna bug#939.
+# see also http://bugzilla.redhat.com/480504 for side-effects
+#patch6 -p1 -b .deepbind
%if 0%{?old_caca}
%patch7 -p0 -b .old-caca
%endif
@@ -434,6 +435,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Sun Jan 18 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16-2
+- drop deepbind patch (#480504)
+
* Wed Jan 07 2009 Kevin Kofler <Kevin(a)tigcc.ticalc.org> - 1.1.16-1.1
- patch for old libcaca in F9-
commit e40e45100db48d6f23bad67b071d6c745ba1d0bc
Author: Kevin Kofler <kkofler(a)fedoraproject.org>
Date: Wed Jan 7 23:14:29 2009 +0000
* Wed Jan 07 2009 Kevin Kofler <Kevin(a)tigcc.ticalc.org> - 1.1.16-1.1
- patch for old libcaca in F9-
diff --git a/xine-lib-1.1.16-old-caca.patch b/xine-lib-1.1.16-old-caca.patch
new file mode 100644
index 0000000..5a149a9
--- /dev/null
+++ b/xine-lib-1.1.16-old-caca.patch
@@ -0,0 +1,27 @@
+--- src/video_out/video_out_caca.c Tue Nov 18 21:13:55 2008 +0100
++++ src/video_out/video_out_caca.c Mon Nov 10 16:33:51 2008 +0100
+@@ -276,7 +276,6 @@ static int caca_redraw_needed (vo_driver
+
+ static vo_driver_t *open_plugin (video_driver_class_t *class_gen, const void *visual_gen) {
+ caca_class_t *class = (caca_class_t *) class_gen;
+- caca_display_t *dp = (caca_display_t *)visual_gen;
+ caca_driver_t *this;
+
+ this = calloc(1, sizeof (caca_driver_t));
+@@ -301,13 +300,8 @@ static vo_driver_t *open_plugin (video_d
+ this->yuv2rgb_factory = yuv2rgb_factory_init(MODE_32_RGB, 0, NULL);
+ this->yuv2rgb_factory->set_csc_levels(this->yuv2rgb_factory, 0, 128, 128);
+
+- if (dp) {
+- this->cv = caca_get_canvas(dp);
+- this->dp = dp;
+- } else {
+- this->cv = cucul_create_canvas(0, 0);
+- this->dp = caca_create_display(this->cv);
+- }
++ this->cv = cucul_create_canvas(0, 0);
++ this->dp = caca_create_display(this->cv);
+
+ caca_refresh_display(this->dp);
+ return &this->vo_driver;
+
diff --git a/xine-lib.spec b/xine-lib.spec
index 1a1756e..eaffe59 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -13,16 +13,18 @@
%define have_vidix 0
%endif # ix86
-%if 0%{?fedora} > 9
-%define _with_caca --with-caca
+%if 0%{?fedora} <= 9
+ %define old_caca 1
%endif
%if 0%{?fedora}
%define with_aalib %{?_without_aalib:0}%{!?_without_aalib:1}
+ %define with_caca %{?_without_caca:0}%{!?_without_caca:1}
%define with_pa %{?_without_pulseaudio:0}%{!?_without_pulseaudio:1}
%define with_xcb %{?_without_xcb:0}%{!?_without_xcb:1}
%else
%define with_aalib %{?_with_aalib:1}%{!?_with_aalib:0}
+ %define with_caca %{?_with_caca:1}%{!?_with_caca:0}
%define with_pa %{?_with_pulseaudio:1}%{!?_with_pulseaudio:0}
%define with_xcb %{?_with_xcb:1}%{!?_with_xcb:0}
%endif # Fedora
@@ -34,7 +36,7 @@
Summary: Xine library
Name: xine-lib
Version: 1.1.16
-Release: 1%{?dist}
+Release: 1%{?dist}.1
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -50,6 +52,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Patch1: %{name}-1.1.4-optflags.patch
Patch6: %{name}-1.1.1-deepbind-939.patch
+Patch7: %{name}-1.1.16-old-caca.patch
## upstream patches
Provides: xine-lib(plugin-abi) = %{abiver}
@@ -69,8 +72,12 @@ BuildRequires: libmng-devel
%if %{with_aalib}
BuildRequires: aalib-devel >= 1.4
%endif # aalib
-%if 0%{?_with_caca:1}
-BuildRequires: libcaca-devel >= 0.99-0.5.beta16
+%if %{with_caca}
+%if 0%{?old_caca}
+BuildRequires: libcaca-devel >= 0.99
+%else
+BuildRequires: libcaca-devel >= 0.99-0.5.beta16
+%endif
%endif # caca
%if 0%{!?_without_directfb:1}
BuildRequires: directfb-devel
@@ -170,7 +177,7 @@ This package contains extra plugins for xine-lib:
%if %{with_aalib}
- AA-lib
%endif # aalib
-%if 0%{?_with_caca:1}
+%if %{with_caca}
- Libcaca
%endif # caca
%if 0%{!?_without_imagemagick:1}
@@ -190,6 +197,9 @@ touch -r m4/optimizations.m4 m4/optimizations.m4.stamp
touch -r m4/optimizations.m4.stamp m4/optimizations.m4
# Patch6 needed at least when compiling with external ffmpeg, #939.
%patch6 -p1 -b .deepbind
+%if 0%{?old_caca}
+%patch7 -p0 -b .old-caca
+%endif
# Avoid standard rpaths on lib64 archs: (autotools patch should handle this, no? -- Rex )
#sed -i -e 's|"/lib /usr/lib\b|"/%{_lib} %{_libdir}|' configure
@@ -227,7 +237,6 @@ export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)"
%if 0%{?_without_imagemagick:1}
--without-imagemagick \
%endif # imagemagick
- %{?_with_caca} %{!?_with_caca:--without-caca} \
%{!?_without_arts:--with-arts} %{?_without_arts} \
--with-wavpack \
--with-real-codecs-path=%{codecdir} \
@@ -401,7 +410,7 @@ rm -rf $RPM_BUILD_ROOT
%if %{with_aalib}
%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_aa.so
%endif # aalib
-%if 0%{?_with_caca:1}
+%if %{with_caca}
%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_caca.so
%endif # caca
%if 0%{!?_without_directfb:1}
@@ -425,6 +434,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Wed Jan 07 2009 Kevin Kofler <Kevin(a)tigcc.ticalc.org> - 1.1.16-1.1
+- patch for old libcaca in F9-
+
* Wed Jan 07 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16-1
- xine-lib-1.1.16, plugin ABI 1.25
- --with-external-libdvdnav, include mpeg demuxers (#213597)
commit 7f8916426460da3d518ac0973157ee157a2b9e8e
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Wed Jan 7 21:28:55 2009 +0000
fix thinko'd typo-fix (are we there yet?)
diff --git a/xine-lib.spec b/xine-lib.spec
index 20aa7d8..1a1756e 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -401,7 +401,7 @@ rm -rf $RPM_BUILD_ROOT
%if %{with_aalib}
%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_aa.so
%endif # aalib
-%if 0%{?_with_caca}
+%if 0%{?_with_caca:1}
%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_caca.so
%endif # caca
%if 0%{!?_without_directfb:1}
commit 9a63bfe8ef943d282a33134321cb6debccd69180
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Wed Jan 7 21:20:33 2009 +0000
typo
diff --git a/xine-lib.spec b/xine-lib.spec
index 757046b..20aa7d8 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -170,7 +170,7 @@ This package contains extra plugins for xine-lib:
%if %{with_aalib}
- AA-lib
%endif # aalib
-%if 0%{?with_caca:1}
+%if 0%{?_with_caca:1}
- Libcaca
%endif # caca
%if 0%{!?_without_imagemagick:1}
commit fcf3303c5cf257561c9cee290338e1961b0cf141
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Wed Jan 7 21:17:12 2009 +0000
enable caca for f10+ only
diff --git a/xine-lib.spec b/xine-lib.spec
index a44c7c5..757046b 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -13,14 +13,16 @@
%define have_vidix 0
%endif # ix86
+%if 0%{?fedora} > 9
+%define _with_caca --with-caca
+%endif
+
%if 0%{?fedora}
%define with_aalib %{?_without_aalib:0}%{!?_without_aalib:1}
- %define with_caca %{?_without_caca:0}%{!?_without_caca:1}
%define with_pa %{?_without_pulseaudio:0}%{!?_without_pulseaudio:1}
%define with_xcb %{?_without_xcb:0}%{!?_without_xcb:1}
%else
%define with_aalib %{?_with_aalib:1}%{!?_with_aalib:0}
- %define with_caca %{?_with_caca:1}%{!?_with_caca:0}
%define with_pa %{?_with_pulseaudio:1}%{!?_with_pulseaudio:0}
%define with_xcb %{?_with_xcb:1}%{!?_with_xcb:0}
%endif # Fedora
@@ -67,7 +69,7 @@ BuildRequires: libmng-devel
%if %{with_aalib}
BuildRequires: aalib-devel >= 1.4
%endif # aalib
-%if %{with_caca}
+%if 0%{?_with_caca:1}
BuildRequires: libcaca-devel >= 0.99-0.5.beta16
%endif # caca
%if 0%{!?_without_directfb:1}
@@ -168,7 +170,7 @@ This package contains extra plugins for xine-lib:
%if %{with_aalib}
- AA-lib
%endif # aalib
-%if %{with_caca}
+%if 0%{?with_caca:1}
- Libcaca
%endif # caca
%if 0%{!?_without_imagemagick:1}
@@ -225,6 +227,7 @@ export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)"
%if 0%{?_without_imagemagick:1}
--without-imagemagick \
%endif # imagemagick
+ %{?_with_caca} %{!?_with_caca:--without-caca} \
%{!?_without_arts:--with-arts} %{?_without_arts} \
--with-wavpack \
--with-real-codecs-path=%{codecdir} \
@@ -398,7 +401,7 @@ rm -rf $RPM_BUILD_ROOT
%if %{with_aalib}
%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_aa.so
%endif # aalib
-%if %{with_caca}
+%if 0%{?_with_caca}
%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_caca.so
%endif # caca
%if 0%{!?_without_directfb:1}
commit a2ef3acb419f4bdc111299aab3535a8c642815a3
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Wed Jan 7 21:03:28 2009 +0000
ugh, looks like caca support needs libcaca-devel >= 0.99-0.5.beta16
diff --git a/xine-lib.spec b/xine-lib.spec
index 3aad4b6..a44c7c5 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -68,7 +68,7 @@ BuildRequires: libmng-devel
BuildRequires: aalib-devel >= 1.4
%endif # aalib
%if %{with_caca}
-BuildRequires: libcaca-devel >= 0.99
+BuildRequires: libcaca-devel >= 0.99-0.5.beta16
%endif # caca
%if 0%{!?_without_directfb:1}
BuildRequires: directfb-devel
commit da4731bb02ed4677291257501a07b8b7c37c995f
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Wed Jan 7 20:08:32 2009 +0000
fix failure for awol ffmpeg
diff --git a/xine-lib.spec b/xine-lib.spec
index e95a56c..3aad4b6 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -196,6 +196,7 @@ touch -r m4/optimizations.m4.stamp m4/optimizations.m4
%build
export FFMPEG_CFLAGS=" " FFMPEG_LIBS=" "
export FFMPEG_POSTPROC_CFLAGS=" " FFMPEG_POSTPROC_LIBS=" "
+export FFMPEG_UTIL_CFLAGS=" " FFMPEG_UTIL_LIBS=" "
export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)"
# Keep list of options in mostly the same order as ./configure --help.
%configure \
commit b64752289538eb1a1804eeb9ce138bea25046ea8
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Wed Jan 7 19:56:48 2009 +0000
respin autotools patch
diff --git a/sources b/sources
index 6616d87..f89d6ad 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-5caed155987cd453b6e23b8720dfbd3d xine-lib-1.1.16-autotools.patch.bz2
+fe8148f2a0ec7b2e75ad509e8086e33f xine-lib-1.1.16-autotools.patch.bz2
512f31d8414ef4654ca366c0dce37301 xine-lib-1.1.16-pruned.tar.bz2
diff --git a/xine-lib.spec b/xine-lib.spec
index d6b5ad4..e95a56c 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -327,6 +327,11 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_image.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_matroska.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_mng.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_mpeg.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_mpeg_block.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_mpeg_elem.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_mpeg_pes.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_mpeg_ts.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_nsv.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_ogg.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_pva.so
@@ -336,6 +341,7 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_slave.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_sputext.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_yuv_frames.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_yuv4mpeg2.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_flac.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_cdda.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_dvb.so
@@ -417,7 +423,7 @@ rm -rf $RPM_BUILD_ROOT
%changelog
* Wed Jan 07 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16-1
- xine-lib-1.1.16, plugin ABI 1.25
-- --with-external-libdvdnav, include demuxers (#213597)
+- --with-external-libdvdnav, include mpeg demuxers (#213597)
* Fri Dec 12 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.15-4
- rebuild for pkgconfig deps
commit 81d11ef2fdb1276367df0d67715a2db24e01e3cd
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Wed Jan 7 19:18:46 2009 +0000
* Wed Jan 07 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16-1
- xine-lib-1.1.16, plugin ABI 1.25
- --with-external-libdvdnav, include demuxers (#213597)
diff --git a/.cvsignore b/.cvsignore
index 3929296..606b324 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -1,2 +1,2 @@
-xine-lib-1.1.15-autotools.patch.bz2
-xine-lib-1.1.15-pruned.tar.bz2
+xine-lib-1.1.16-autotools.patch.bz2
+xine-lib-1.1.16-pruned.tar.bz2
diff --git a/sources b/sources
index 15195de..6616d87 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-ffd74ec893a5f1167c69987a68f436fd xine-lib-1.1.15-autotools.patch.bz2
-acdbdc024382afac111eb076304448ed xine-lib-1.1.15-pruned.tar.bz2
+5caed155987cd453b6e23b8720dfbd3d xine-lib-1.1.16-autotools.patch.bz2
+512f31d8414ef4654ca366c0dce37301 xine-lib-1.1.16-pruned.tar.bz2
diff --git a/xine-lib-1.1.15-ansi.patch b/xine-lib-1.1.15-ansi.patch
deleted file mode 100644
index d9f1b27..0000000
--- a/xine-lib-1.1.15-ansi.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up xine-lib-1.1.15/src/xine-engine/buffer.h.ansi xine-lib-1.1.15/src/xine-engine/buffer.h
---- xine-lib-1.1.15/src/xine-engine/buffer.h.ansi 2008-07-16 16:01:56.000000000 -0500
-+++ xine-lib-1.1.15/src/xine-engine/buffer.h 2008-08-19 12:08:46.000000000 -0500
-@@ -676,7 +676,7 @@ void _x_bmiheader_le2me( xine_bmiheader
- /* convert xine_waveformatex struct from little endian */
- void _x_waveformatex_le2me( xine_waveformatex *wavex ) XINE_PROTECTED;
-
--static inline _x_is_fourcc(void *ptr, void *tag) {
-+static __inline _x_is_fourcc(void *ptr, void *tag) {
- return memcmp(ptr, tag, 4) == 0;
- }
-
diff --git a/xine-lib-cleanup-sources.sh b/xine-lib-cleanup-sources.sh
index a905a3f..31cff0f 100755
--- a/xine-lib-cleanup-sources.sh
+++ b/xine-lib-cleanup-sources.sh
@@ -56,11 +56,12 @@ for p in dvd vcd mms; do
sed -i -e "/xineplug_inp_$p/d" src/input/Makefile.am
done
# Demuxers
-for p in mpeg mpeg_block mpeg_ts mpeg_elem mpeg_pes yuv4mpeg2; do
- echo "removing $p demuxer..."
- [ -f src/demuxers/demux_$p.c ] && rm -f src/demuxers/demux_$p.c
- sed -i -e "/xineplug_dmx_$p/d" src/demuxers/Makefile.am
-done
+# These are ok now ( http://bugzilla.redhat.com/213597 )
+#for p in mpeg mpeg_block mpeg_ts mpeg_elem mpeg_pes yuv4mpeg2; do
+# echo "removing $p demuxer..."
+# [ -f src/demuxers/demux_$p.c ] && rm -f src/demuxers/demux_$p.c
+# sed -i -e "/xineplug_dmx_$p/d" src/demuxers/Makefile.am
+#done
# Postprocessors
echo "removing planar and deinterlace postprocessors..."
sed -i -e 's/deinterlace //g' src/post/Makefile.am # see comments in speedy.c
diff --git a/xine-lib.spec b/xine-lib.spec
index 6233be5..d6b5ad4 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -2,10 +2,9 @@
# - libstk: http://www.libstk.net/ - probably not, see 1.1.5 ChangeLog
# - drop the opengl video out plugin?
# http://www.redhat.com/archives/fedora-legal-list/2007-August/msg00011.html
-# - external dvdnav - not compatible as of 1.1.11 and 4.1.1
# - deprecate ESD support?
-%define abiver 1.24
+%define abiver 1.25
%define codecdir %{_libdir}/codecs
%ifarch %{ix86}
@@ -32,8 +31,8 @@
Summary: Xine library
Name: xine-lib
-Version: 1.1.15
-Release: 4%{?dist}
+Version: 1.1.16
+Release: 1%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -50,8 +49,6 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Patch1: %{name}-1.1.4-optflags.patch
Patch6: %{name}-1.1.1-deepbind-939.patch
## upstream patches
-# phonon-xine doesn't compile with xine-lib-1.1.15, http://bugs.kde.org/169365
-Patch100: xine-lib-1.1.15-ansi.patch
Provides: xine-lib(plugin-abi) = %{abiver}
# X11
@@ -111,6 +108,7 @@ BuildRequires: libsmbclient-devel
%else
BuildRequires: samba-common
%endif
+BuildRequires: libdvdnav-devel
%description
This package contains the Xine library. Xine is a free multimedia player.
@@ -191,10 +189,8 @@ touch -r m4/optimizations.m4.stamp m4/optimizations.m4
# Patch6 needed at least when compiling with external ffmpeg, #939.
%patch6 -p1 -b .deepbind
-%patch100 -p1 -b .ansi
-
-# Avoid standard rpaths on lib64 archs:
-sed -i -e 's|"/lib /usr/lib\b|"/%{_lib} %{_libdir}|' configure
+# Avoid standard rpaths on lib64 archs: (autotools patch should handle this, no? -- Rex )
+#sed -i -e 's|"/lib /usr/lib\b|"/%{_lib} %{_libdir}|' configure
%build
@@ -223,6 +219,7 @@ export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)"
--with-external-ffmpeg \
--with-xv-path=%{_libdir} \
--with-libflac \
+ --with-external-libdvdnav \
--with-external-libmpcdec \
%if 0%{?_without_imagemagick:1}
--without-imagemagick \
@@ -418,6 +415,10 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Wed Jan 07 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16-1
+- xine-lib-1.1.16, plugin ABI 1.25
+- --with-external-libdvdnav, include demuxers (#213597)
+
* Fri Dec 12 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.15-4
- rebuild for pkgconfig deps
commit d04f6398a23cd3051ad6f7b6e3c69d3b3c9ef005
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Fri Dec 12 21:17:03 2008 +0000
* Fri Dec 12 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.15-4
- rebuild for pkgconfig deps
diff --git a/xine-lib.spec b/xine-lib.spec
index 14ad846..6233be5 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -33,7 +33,7 @@
Summary: Xine library
Name: xine-lib
Version: 1.1.15
-Release: 3%{?dist}
+Release: 4%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -418,6 +418,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Fri Dec 12 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.15-4
+- rebuild for pkgconfig deps
+
* Tue Oct 28 2008 Kevin Kofler <Kevin(a)tigcc.ticalc.org> - 1.1.15-3
- rebuild for new libcaca
commit 4615667f5a33d7ce5d33b02f04fcc54037598673
Author: Kevin Kofler <kkofler(a)fedoraproject.org>
Date: Tue Oct 28 03:57:04 2008 +0000
* Tue Oct 28 2008 Kevin Kofler <Kevin(a)tigcc.ticalc.org> - 1.1.15-3
- rebuild for new libcaca
diff --git a/xine-lib.spec b/xine-lib.spec
index ee84083..14ad846 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -33,7 +33,7 @@
Summary: Xine library
Name: xine-lib
Version: 1.1.15
-Release: 2%{?dist}
+Release: 3%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -418,6 +418,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Tue Oct 28 2008 Kevin Kofler <Kevin(a)tigcc.ticalc.org> - 1.1.15-3
+- rebuild for new libcaca
+
* Thu Oct 23 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.15-2
- respin
commit 808b003503468c262b440ff886120e55fcc15733
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Thu Oct 23 17:52:26 2008 +0000
* Thu Oct 23 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.15-2
- respin
diff --git a/xine-lib.spec b/xine-lib.spec
index 1f2e001..ee84083 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -33,7 +33,7 @@
Summary: Xine library
Name: xine-lib
Version: 1.1.15
-Release: 1%{?dist}.1
+Release: 2%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -418,6 +418,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Thu Oct 23 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.15-2
+- respin
+
* Wed Aug 20 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.15-1
- xine-lib-1.1.15, plugin ABI 1.24 (rh#455752, CVE-2008-3231)
- Obsoletes: -arts (f9+)
commit c20f71efca180f7ba99fd5c9dca85e31a58eca9f
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Fri Aug 22 17:35:34 2008 +0000
doh, yank errant Obsoletes/Provides: -pulseaudio
diff --git a/xine-lib.spec b/xine-lib.spec
index 8f5911c..1f2e001 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -33,7 +33,7 @@
Summary: Xine library
Name: xine-lib
Version: 1.1.15
-Release: 1%{?dist}
+Release: 1%{?dist}.1
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -92,8 +92,6 @@ BuildRequires: libmpcdec-devel
BuildRequires: libvorbis-devel
%if %{with_pa}
BuildRequires: pulseaudio-lib-devel
-Obsoletes: %{name}-pulseaudio < %{version}-%{release}
-Provides: %{name}-pulseaudio = %{version}-%{release}
%endif # pa
BuildRequires: speex-devel
%if 0%{?_without_arts:1}
commit df8f64b24b84f488aaa1249b458e9411879099a1
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Fri Aug 22 15:18:52 2008 +0000
add awol patch
diff --git a/xine-lib-1.1.15-ansi.patch b/xine-lib-1.1.15-ansi.patch
new file mode 100644
index 0000000..d9f1b27
--- /dev/null
+++ b/xine-lib-1.1.15-ansi.patch
@@ -0,0 +1,12 @@
+diff -up xine-lib-1.1.15/src/xine-engine/buffer.h.ansi xine-lib-1.1.15/src/xine-engine/buffer.h
+--- xine-lib-1.1.15/src/xine-engine/buffer.h.ansi 2008-07-16 16:01:56.000000000 -0500
++++ xine-lib-1.1.15/src/xine-engine/buffer.h 2008-08-19 12:08:46.000000000 -0500
+@@ -676,7 +676,7 @@ void _x_bmiheader_le2me( xine_bmiheader
+ /* convert xine_waveformatex struct from little endian */
+ void _x_waveformatex_le2me( xine_waveformatex *wavex ) XINE_PROTECTED;
+
+-static inline _x_is_fourcc(void *ptr, void *tag) {
++static __inline _x_is_fourcc(void *ptr, void *tag) {
+ return memcmp(ptr, tag, 4) == 0;
+ }
+
commit 8561717eb942d76a22d3fec7fd911e745dac2a2a
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Fri Aug 22 15:12:26 2008 +0000
restore -pulseaudio subpkg
upsream -ansi-related patch
cleanup BR's a bit (more)
diff --git a/xine-lib.spec b/xine-lib.spec
index aea8a4c..8f5911c 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -45,9 +45,13 @@ Source1: %{name}-cleanup-sources.sh
Source2: %{name}-mk-autotools-patch.sh
# autotools patch created with source2
Patch0: %{name}-%{version}-autotools.patch.bz2
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+
Patch1: %{name}-1.1.4-optflags.patch
Patch6: %{name}-1.1.1-deepbind-939.patch
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+## upstream patches
+# phonon-xine doesn't compile with xine-lib-1.1.15, http://bugs.kde.org/169365
+Patch100: xine-lib-1.1.15-ansi.patch
Provides: xine-lib(plugin-abi) = %{abiver}
# X11
@@ -79,26 +83,25 @@ BuildRequires: ImageMagick-devel >= 6.2.4.6-1
BuildRequires: fontconfig-devel
%endif # freetype
# Audio
-BuildRequires: libogg-devel
-BuildRequires: libvorbis-devel
+BuildRequires: alsa-lib-devel >= 0.9.0
+BuildRequires: esound-devel
BuildRequires: flac-devel
+BuildRequires: jack-audio-connection-kit-devel
BuildRequires: libmodplug-devel
-BuildRequires: esound-devel
-BuildRequires: speex-devel
-%if 0%{?_without_arts:1}
-Obsoletes: %{name}-arts < %{version}-%{release}
-%else
-BuildRequires: arts-devel
-%endif
-BuildRequires: alsa-lib-devel >= 0.9.0
BuildRequires: libmpcdec-devel
-BuildRequires: wavpack-devel
+BuildRequires: libvorbis-devel
%if %{with_pa}
BuildRequires: pulseaudio-lib-devel
Obsoletes: %{name}-pulseaudio < %{version}-%{release}
Provides: %{name}-pulseaudio = %{version}-%{release}
%endif # pa
-BuildRequires: jack-audio-connection-kit-devel
+BuildRequires: speex-devel
+%if 0%{?_without_arts:1}
+Obsoletes: xine-lib-arts < %{version}-%{release}
+%else
+BuildRequires: arts-devel
+%endif
+BuildRequires: wavpack-devel
# CDs
BuildRequires: libcdio-devel
# Other
@@ -141,6 +144,17 @@ Obsoletes: xine-lib-extras < 1.1.7-3
%description arts
This package contains the aRts extra plugin for xine-lib.
+%package pulseaudio
+Summary: Pulseaudio plugin for xine-lib
+Group: System Environment/Libraries
+Requires: %{name} = %{version}-%{release}
+# -pulseaudio was split off -extras at 1.1.11.1-2
+#Obsoletes: xine-lib-extras < 1.1.11.1-2
+
+%description pulseaudio
+This package contains the pulseaudio plugin for xine-lib.
+
+
%package extras
Summary: Additional plugins for xine-lib
Group: System Environment/Libraries
@@ -179,6 +193,8 @@ touch -r m4/optimizations.m4.stamp m4/optimizations.m4
# Patch6 needed at least when compiling with external ffmpeg, #939.
%patch6 -p1 -b .deepbind
+%patch100 -p1 -b .ansi
+
# Avoid standard rpaths on lib64 archs:
sed -i -e 's|"/lib /usr/lib\b|"/%{_lib} %{_libdir}|' configure
@@ -286,9 +302,6 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_file.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_none.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_oss.so
-%if %{with_pa}
-%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_pulseaudio.so
-%endif
%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_bitplane.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_gsm610.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_lpcm.so
@@ -364,6 +377,12 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_arts.so
%endif
+%if %{with_pa}
+%files pulseaudio
+%defattr(-,root,root,-)
+%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_pulseaudio.so
+%endif
+
%files extras
%defattr(-,root,root,-)
%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_esd.so
@@ -401,10 +420,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
-* Fri Aug 15 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.15-1
+* Wed Aug 20 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.15-1
- xine-lib-1.1.15, plugin ABI 1.24 (rh#455752, CVE-2008-3231)
- Obsoletes: -arts (f9+)
-- move -pulseaudio into main pkg
* Sun Apr 27 2008 Kevin Kofler <Kevin(a)tigcc.ticalc.org> - 1.1.12-3
- rebuild for new ImageMagick (6.4.0.10)
commit 33738f1f9eb3b1802f3fc6f6d655d09183b064d5
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Fri Aug 15 19:38:41 2008 +0000
* Fri Aug 15 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.15-1
- xine-lib-1.1.15, plugin ABI 1.24 (rh#455752, CVE-2008-3231)
- Obsoletes: -arts (f9+)
- move -pulseaudio into main pkg
diff --git a/.cvsignore b/.cvsignore
index e68873d..3929296 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -1,2 +1,2 @@
-xine-lib-1.1.12-pruned.tar.bz2
-xine-lib-1.1.12-autotools.patch.bz2
+xine-lib-1.1.15-autotools.patch.bz2
+xine-lib-1.1.15-pruned.tar.bz2
diff --git a/sources b/sources
index 4a02333..15195de 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-3f918af93f52e486fb8fd4dfec04f98f xine-lib-1.1.12-pruned.tar.bz2
-771565628e4dfcfc8657b1256b9f41ef xine-lib-1.1.12-autotools.patch.bz2
+ffd74ec893a5f1167c69987a68f436fd xine-lib-1.1.15-autotools.patch.bz2
+acdbdc024382afac111eb076304448ed xine-lib-1.1.15-pruned.tar.bz2
diff --git a/xine-lib-1.1.12-CVE-2008-1878.patch b/xine-lib-1.1.12-CVE-2008-1878.patch
deleted file mode 100644
index b51f875..0000000
--- a/xine-lib-1.1.12-CVE-2008-1878.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff -up xine-lib-1.1.12/src/demuxers/demux_nsf.c.CVE-2008-1878 xine-lib-1.1.12/src/demuxers/demux_nsf.c
---- xine-lib-1.1.12/src/demuxers/demux_nsf.c.CVE-2008-1878 2008-03-28 09:24:50.000000000 -0500
-+++ xine-lib-1.1.12/src/demuxers/demux_nsf.c 2008-04-24 06:52:45.000000000 -0500
-@@ -106,9 +106,9 @@ static int open_nsf_file(demux_nsf_t *th
-
- this->total_songs = header[6];
- this->current_song = header[7];
-- this->title = strdup(&header[0x0E]);
-- this->artist = strdup(&header[0x2E]);
-- this->copyright = strdup(&header[0x4E]);
-+ this->title = strndup((char*)&header[0x0E], 0x20);
-+ this->artist = strndup((char*)&header[0x2E], 0x20);
-+ this->copyright = strndup((char*)&header[0x4E], 0x20);
-
- this->filesize = this->input->get_length(this->input);
-
diff --git a/xine-lib.spec b/xine-lib.spec
index e1c6012..aea8a4c 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -2,13 +2,10 @@
# - libstk: http://www.libstk.net/ - probably not, see 1.1.5 ChangeLog
# - drop the opengl video out plugin?
# http://www.redhat.com/archives/fedora-legal-list/2007-August/msg00011.html
-# - move -pulseaudio to main package?
-# http://fedoraproject.org/wiki/Releases/FeaturePulseaudio
-# --> not yet:
-# http://www.redhat.com/archives/fedora-devel-list/2007-August/msg01411.html
# - external dvdnav - not compatible as of 1.1.11 and 4.1.1
+# - deprecate ESD support?
-%define abiver 1.21
+%define abiver 1.24
%define codecdir %{_libdir}/codecs
%ifarch %{ix86}
@@ -29,10 +26,14 @@
%define with_xcb %{?_with_xcb:1}%{!?_with_xcb:0}
%endif # Fedora
+%if 0%{?fedora} > 8
+%define _without_arts --without-arts
+%endif
+
Summary: Xine library
Name: xine-lib
-Version: 1.1.12
-Release: 3%{?dist}
+Version: 1.1.15
+Release: 1%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -46,7 +47,6 @@ Source2: %{name}-mk-autotools-patch.sh
Patch0: %{name}-%{version}-autotools.patch.bz2
Patch1: %{name}-1.1.4-optflags.patch
Patch6: %{name}-1.1.1-deepbind-939.patch
-Patch7: %{name}-1.1.12-CVE-2008-1878.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Provides: xine-lib(plugin-abi) = %{abiver}
@@ -85,12 +85,18 @@ BuildRequires: flac-devel
BuildRequires: libmodplug-devel
BuildRequires: esound-devel
BuildRequires: speex-devel
-BuildRequires: arts-devel
+%if 0%{?_without_arts:1}
+Obsoletes: %{name}-arts < %{version}-%{release}
+%else
+BuildRequires: arts-devel
+%endif
BuildRequires: alsa-lib-devel >= 0.9.0
BuildRequires: libmpcdec-devel
BuildRequires: wavpack-devel
%if %{with_pa}
BuildRequires: pulseaudio-lib-devel
+Obsoletes: %{name}-pulseaudio < %{version}-%{release}
+Provides: %{name}-pulseaudio = %{version}-%{release}
%endif # pa
BuildRequires: jack-audio-connection-kit-devel
# CDs
@@ -99,7 +105,11 @@ BuildRequires: libcdio-devel
BuildRequires: pkgconfig
BuildRequires: gnome-vfs2-devel
BuildRequires: gtk2-devel
+%if 0%{?fedora} > 6 || 0%{?rhel} > 5
BuildRequires: libsmbclient-devel
+%else
+BuildRequires: samba-common
+%endif
%description
This package contains the Xine library. Xine is a free multimedia player.
@@ -120,31 +130,22 @@ Requires: zlib-devel
%description devel
This package contains development files for xine-lib.
-# TODO: consider removing and/or marking as deprecated for F9+ -- Rex
%package arts
Summary: aRts plugin for xine-lib
Group: System Environment/Libraries
Requires: %{name} = %{version}-%{release}
+#Requires: xine-lib(plugin-abi) = %{abiver}
# -arts was split off the -extras subpackage at 1.1.7-3
Obsoletes: xine-lib-extras < 1.1.7-3
%description arts
This package contains the aRts extra plugin for xine-lib.
-%package pulseaudio
-Summary: Pulseaudio plugin for xine-lib
-Group: System Environment/Libraries
-Requires: %{name} = %{version}-%{release}
-# -pulseaudio was split off -extras at 1.1.11.1-2
-#Obsoletes: xine-lib-extras < 1.1.11.1-2
-
-%description pulseaudio
-This package contains the pulseaudio plugin for xine-lib.
-
%package extras
Summary: Additional plugins for xine-lib
Group: System Environment/Libraries
Requires: %{name} = %{version}-%{release}
+#Requires: xine-lib(plugin-abi) = %{abiver}
%description extras
This package contains extra plugins for xine-lib:
@@ -177,7 +178,6 @@ touch -r m4/optimizations.m4 m4/optimizations.m4.stamp
touch -r m4/optimizations.m4.stamp m4/optimizations.m4
# Patch6 needed at least when compiling with external ffmpeg, #939.
%patch6 -p1 -b .deepbind
-%patch7 -p1 -b .CVE-2008-1878
# Avoid standard rpaths on lib64 archs:
sed -i -e 's|"/lib /usr/lib\b|"/%{_lib} %{_libdir}|' configure
@@ -213,7 +213,7 @@ export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)"
%if 0%{?_without_imagemagick:1}
--without-imagemagick \
%endif # imagemagick
- --with-arts \
+ %{!?_without_arts:--with-arts} %{?_without_arts} \
--with-wavpack \
--with-real-codecs-path=%{codecdir} \
--with-w32-path=%{codecdir}
@@ -286,6 +286,9 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_file.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_none.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_oss.so
+%if %{with_pa}
+%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_pulseaudio.so
+%endif
%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_bitplane.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_gsm610.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_lpcm.so
@@ -355,15 +358,11 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_xxmc.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_wavpack.so
+%if 0%{!?_without_arts:1}
%files arts
%defattr(-,root,root,-)
%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_arts.so
-
-%if %{with_pa}
-%files pulseaudio
-%defattr(-,root,root,-)
-%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_pulseaudio.so
-%endif
+%endif
%files extras
%defattr(-,root,root,-)
@@ -402,6 +401,11 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Fri Aug 15 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.15-1
+- xine-lib-1.1.15, plugin ABI 1.24 (rh#455752, CVE-2008-3231)
+- Obsoletes: -arts (f9+)
+- move -pulseaudio into main pkg
+
* Sun Apr 27 2008 Kevin Kofler <Kevin(a)tigcc.ticalc.org> - 1.1.12-3
- rebuild for new ImageMagick (6.4.0.10)
commit faddf92672abb22cf7c684692926727122256cec
Author: Kevin Kofler <kkofler(a)fedoraproject.org>
Date: Sun Apr 27 20:42:51 2008 +0000
* Sun Apr 27 2008 Kevin Kofler <Kevin(a)tigcc.ticalc.org> - 1.1.12-3
- rebuild for new ImageMagick (6.4.0.10)
diff --git a/xine-lib.spec b/xine-lib.spec
index 76ebc23..e1c6012 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -32,7 +32,7 @@
Summary: Xine library
Name: xine-lib
Version: 1.1.12
-Release: 2%{?dist}
+Release: 3%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -402,6 +402,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Sun Apr 27 2008 Kevin Kofler <Kevin(a)tigcc.ticalc.org> - 1.1.12-3
+- rebuild for new ImageMagick (6.4.0.10)
+
* Thu Apr 24 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.12-2
- CVE-2008-1878
commit 1d878d9973c8d17678c4e38f5107f170ea2ee7f5
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Thu Apr 24 15:22:17 2008 +0000
comment to consider move of -pulseaudio to main pkg
diff --git a/xine-lib.spec b/xine-lib.spec
index 81bd57b..76ebc23 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -2,7 +2,7 @@
# - libstk: http://www.libstk.net/ - probably not, see 1.1.5 ChangeLog
# - drop the opengl video out plugin?
# http://www.redhat.com/archives/fedora-legal-list/2007-August/msg00011.html
-# - move pulseaudio to main package from -extras?
+# - move -pulseaudio to main package?
# http://fedoraproject.org/wiki/Releases/FeaturePulseaudio
# --> not yet:
# http://www.redhat.com/archives/fedora-devel-list/2007-August/msg01411.html
commit 0566d7f607c63285af664f2015f6e26149726e0d
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Thu Apr 24 13:16:29 2008 +0000
omit tracking bug id
diff --git a/xine-lib.spec b/xine-lib.spec
index 68e9eb2..81bd57b 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -403,7 +403,7 @@ rm -rf $RPM_BUILD_ROOT
%changelog
* Thu Apr 24 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.12-2
-- CVE-2008-1878 (#443056)
+- CVE-2008-1878
* Wed Apr 16 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.12-1
- 1.1.12 (plugin ABI 1.21); qt, mkv, and pulseaudio patches applied upstream.
commit 0faa6e51ca66bf2e07749126c6ffcc8b046fedc8
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Thu Apr 24 11:57:39 2008 +0000
* Thu Apr 24 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.12-2
- CVE-2008-1878 (#443056)
diff --git a/xine-lib-1.1.12-CVE-2008-1878.patch b/xine-lib-1.1.12-CVE-2008-1878.patch
new file mode 100644
index 0000000..b51f875
--- /dev/null
+++ b/xine-lib-1.1.12-CVE-2008-1878.patch
@@ -0,0 +1,16 @@
+diff -up xine-lib-1.1.12/src/demuxers/demux_nsf.c.CVE-2008-1878 xine-lib-1.1.12/src/demuxers/demux_nsf.c
+--- xine-lib-1.1.12/src/demuxers/demux_nsf.c.CVE-2008-1878 2008-03-28 09:24:50.000000000 -0500
++++ xine-lib-1.1.12/src/demuxers/demux_nsf.c 2008-04-24 06:52:45.000000000 -0500
+@@ -106,9 +106,9 @@ static int open_nsf_file(demux_nsf_t *th
+
+ this->total_songs = header[6];
+ this->current_song = header[7];
+- this->title = strdup(&header[0x0E]);
+- this->artist = strdup(&header[0x2E]);
+- this->copyright = strdup(&header[0x4E]);
++ this->title = strndup((char*)&header[0x0E], 0x20);
++ this->artist = strndup((char*)&header[0x2E], 0x20);
++ this->copyright = strndup((char*)&header[0x4E], 0x20);
+
+ this->filesize = this->input->get_length(this->input);
+
diff --git a/xine-lib.spec b/xine-lib.spec
index a1a11c8..68e9eb2 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -32,7 +32,7 @@
Summary: Xine library
Name: xine-lib
Version: 1.1.12
-Release: 1%{?dist}
+Release: 2%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -46,6 +46,7 @@ Source2: %{name}-mk-autotools-patch.sh
Patch0: %{name}-%{version}-autotools.patch.bz2
Patch1: %{name}-1.1.4-optflags.patch
Patch6: %{name}-1.1.1-deepbind-939.patch
+Patch7: %{name}-1.1.12-CVE-2008-1878.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Provides: xine-lib(plugin-abi) = %{abiver}
@@ -176,6 +177,7 @@ touch -r m4/optimizations.m4 m4/optimizations.m4.stamp
touch -r m4/optimizations.m4.stamp m4/optimizations.m4
# Patch6 needed at least when compiling with external ffmpeg, #939.
%patch6 -p1 -b .deepbind
+%patch7 -p1 -b .CVE-2008-1878
# Avoid standard rpaths on lib64 archs:
sed -i -e 's|"/lib /usr/lib\b|"/%{_lib} %{_libdir}|' configure
@@ -400,6 +402,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Thu Apr 24 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.12-2
+- CVE-2008-1878 (#443056)
+
* Wed Apr 16 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.12-1
- 1.1.12 (plugin ABI 1.21); qt, mkv, and pulseaudio patches applied upstream.
commit 93d0f06ea4a38fc9a391838d0e66c0621bd5b0e8
Author: Ville Skyttä <scop(a)fedoraproject.org>
Date: Wed Apr 16 21:05:40 2008 +0000
* Wed Apr 16 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.12-1
- 1.1.12 (plugin ABI 1.21); qt, mkv, and pulseaudio patches applied upstream.
diff --git a/.cvsignore b/.cvsignore
index 907cc99..e68873d 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -1,2 +1,2 @@
-xine-lib-1.1.11.1-pruned.tar.bz2
-xine-lib-1.1.11.1-autotools.patch.bz2
+xine-lib-1.1.12-pruned.tar.bz2
+xine-lib-1.1.12-autotools.patch.bz2
diff --git a/sources b/sources
index 7c8f9d9..4a02333 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-b6a4fe9dd2ec80452870a8bfbb3974f0 xine-lib-1.1.11.1-pruned.tar.bz2
-c257bf0b964d25592f1c612149ae2c7a xine-lib-1.1.11.1-autotools.patch.bz2
+3f918af93f52e486fb8fd4dfec04f98f xine-lib-1.1.12-pruned.tar.bz2
+771565628e4dfcfc8657b1256b9f41ef xine-lib-1.1.12-autotools.patch.bz2
diff --git a/xine-lib-1.1.11.1-mkv.patch b/xine-lib-1.1.11.1-mkv.patch
deleted file mode 100644
index c835db1..0000000
--- a/xine-lib-1.1.11.1-mkv.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-
-# HG changeset patch
-# User Darren Salt <linux(a)youmustbejoking.demon.co.uk>
-# Date 1207353205 -3600
-# Node ID ff20b8db74eabc74b7b95da4c1b44fc5d7f2ec8c
-# Parent 05ebc886fd30158b59a26e03cf2f6f3a52114b24
-Fix a regression in the Matroska demuxer.
-One '&'...
-
---- a/src/demuxers/ebml.c Fri Apr 04 18:35:33 2008 +0100
-+++ b/src/demuxers/ebml.c Sat Apr 05 00:53:25 2008 +0100
-@@ -327,7 +327,7 @@ char *ebml_alloc_read_ascii (ebml_parser
- if (text)
- {
- text[elem->len] = '\0';
-- if (ebml_read_ascii (ebml, &elem, text))
-+ if (ebml_read_ascii (ebml, elem, text))
- return text;
- free (text);
- }
-
diff --git a/xine-lib-1.1.11.1-qt.patch b/xine-lib-1.1.11.1-qt.patch
deleted file mode 100644
index 54a9c67..0000000
--- a/xine-lib-1.1.11.1-qt.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-
-# HG changeset patch
-# User Darren Salt <linux(a)youmustbejoking.demon.co.uk>
-# Date 1206976103 -3600
-# Node ID d8e1305c13820b82d896f7bc77d196b9c9645dd6
-# Parent 2cc583bdc498fd6c95b8a21c10e81a0cef4d63c6
-Revert a change which broke Quicktime atom parsing.
-
---- a/src/demuxers/demux_qt.c Sun Mar 30 19:48:58 2008 +0100
-+++ b/src/demuxers/demux_qt.c Mon Mar 31 16:08:23 2008 +0100
-@@ -895,11 +895,6 @@ static qt_error parse_trak_atom (qt_trak
- for (i = ATOM_PREAMBLE_SIZE; i < trak_atom_size - 4; i++) {
- current_atom_size = _X_BE_32(&trak_atom[i - 4]);
- current_atom = _X_BE_32(&trak_atom[i]);
--
-- if (current_atom_size > trak_atom_size - i) {
-- last_error = QT_NOT_A_VALID_FILE;
-- goto free_trak;
-- }
-
- if (current_atom == TKHD_ATOM) {
- trak->flags = _X_BE_16(&trak_atom[i + 6]);
-
diff --git a/xine-lib.spec b/xine-lib.spec
index eb41b78..a1a11c8 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -8,7 +8,7 @@
# http://www.redhat.com/archives/fedora-devel-list/2007-August/msg01411.html
# - external dvdnav - not compatible as of 1.1.11 and 4.1.1
-%define abiver 1.20
+%define abiver 1.21
%define codecdir %{_libdir}/codecs
%ifarch %{ix86}
@@ -31,8 +31,8 @@
Summary: Xine library
Name: xine-lib
-Version: 1.1.11.1
-Release: 3%{?dist}
+Version: 1.1.12
+Release: 1%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -48,12 +48,6 @@ Patch1: %{name}-1.1.4-optflags.patch
Patch6: %{name}-1.1.1-deepbind-939.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-# upstream patches
-# lennart said this was upstreamed already. :)
-Patch100: http://0pointer.de/public/xine-pulse-rework2.patch
-Patch101: %{name}-1.1.11.1-mkv.patch
-Patch102: %{name}-1.1.11.1-qt.patch
-
Provides: xine-lib(plugin-abi) = %{abiver}
# X11
BuildRequires: libX11-devel
@@ -183,10 +177,6 @@ touch -r m4/optimizations.m4.stamp m4/optimizations.m4
# Patch6 needed at least when compiling with external ffmpeg, #939.
%patch6 -p1 -b .deepbind
-%patch100 -p1 -b .pulse-rework2
-%patch101 -p1 -b .mkv
-%patch102 -p1 -b .qt
-
# Avoid standard rpaths on lib64 archs:
sed -i -e 's|"/lib /usr/lib\b|"/%{_lib} %{_libdir}|' configure
@@ -348,6 +338,7 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_fb.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_none.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_opengl.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_raw.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_syncfb.so
%if %{have_vidix}
%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_vidix.so
@@ -398,15 +389,20 @@ rm -rf $RPM_BUILD_ROOT
%defattr(-,root,root,-)
%doc __docs/hackersguide/*
%{_bindir}/xine-config
+%{_bindir}/xine-list*
%{_datadir}/aclocal/xine.m4
%{_includedir}/xine.h
%{_includedir}/xine/
%{_libdir}/libxine.so
%{_libdir}/pkgconfig/libxine.pc
%{_mandir}/man1/xine-config.1*
+%{_mandir}/man1/xine-list*.1*
%changelog
+* Wed Apr 16 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.12-1
+- 1.1.12 (plugin ABI 1.21); qt, mkv, and pulseaudio patches applied upstream.
+
* Wed Apr 9 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.11.1-3
- Apply upstream fixes for Quicktime (#441705) and Matroska regressions
introduced in 1.1.11.1.
diff --git a/xine-pulse-rework2.patch b/xine-pulse-rework2.patch
deleted file mode 100644
index 7f29efb..0000000
--- a/xine-pulse-rework2.patch
+++ /dev/null
@@ -1,1039 +0,0 @@
---- xine-lib-1.1.11.1/src/audio_out/audio_pulse_out.c 2008-03-28 15:24:49.000000000 +0100
-+++ xine-lib-1.1.11.1.lennart/src/audio_out/audio_pulse_out.c 2008-04-02 22:55:49.000000000 +0200
-@@ -1,28 +1,28 @@
--/*
-- * Copyright (C) 2000-2007 the xine project
-- *
-+/* -*- Mode: C; c-basic-offset: 2; indent-tabs-mode: nil -*- */
-+
-+/*
-+ * Copyright (C) 2000-2008 the xine project
-+ *
- * This file is part of xine, a free video player.
-- *
-+ *
- * xine is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
-- *
-+ *
- * xine 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 General Public License for more details.
-- *
-+ *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
- *
-- * ao plugin for pulseaudio (rename of polypaudio):
-+ * ao plugin for PulseAudio:
- * http://0pointer.de/lennart/projects/pulsaudio/
- *
-- * originally written for polypaudio simple api. Lennart then suggested
-- * using the async api for better control (such as volume), therefore, a lot
-- * of this code comes from Lennart's patch to mplayer.
-+ * Diego Petteno, Lennart Poettering
- */
-
- #ifdef HAVE_CONFIG_H
-@@ -48,15 +48,9 @@
-
- #define GAP_TOLERANCE AO_MAX_GAP
-
--/* CHECKME: should this be conditional on autotools? */
--extern const char *__progname;
--
- typedef struct {
- audio_driver_class_t driver_class;
- xine_t *xine;
--
-- struct pa_context *context; /*< Pulseaudio connection context */
-- struct pa_threaded_mainloop *mainloop; /*< Main event loop object */
- } pulse_class_t;
-
- typedef struct pulse_driver_s {
-@@ -67,11 +61,13 @@ typedef struct pulse_driver_s {
-
- char *host; /*< The host to connect to */
- char *sink; /*< The sink to connect to */
-- struct pa_stream *stream; /*< Pulseaudio playback stream object */
-
-- pthread_mutex_t info_mutex; /**< Mutex for info callback signaling */
-+ pa_threaded_mainloop *mainloop; /*< Main event loop object */
-+ pa_context *context; /*< Pulseaudio connection context */
-+ pa_stream *stream; /*< Pulseaudio playback stream object */
-
- pa_volume_t swvolume;
-+ int muted;
- pa_cvolume cvolume;
-
- int capabilities;
-@@ -82,67 +78,117 @@ typedef struct pulse_driver_s {
- uint32_t bits_per_sample;
- uint32_t bytes_per_frame;
-
-- uint32_t frames_written;
--
- } pulse_driver_t;
-
-
- /**
-- * @brief Callback function called when a stream operation succeed
-- * @param stream Stream which operation has succeeded
-- * @param success The success value for the operation (ignored)
-- * @param this_Gen pulse_driver_t pointer for the PulseAudio output
-- * instance.
-+ * @brief Callback function called when the state of the context is changed
-+ * @param c Context which changed status
-+ * @param this_gen pulse_class_t pointer for the PulseAudio output class
- */
--static void __xine_pa_stream_success_callback(pa_stream *const stream, const int success,
-- void *const mutex_gen)
-+static void __xine_pa_context_state_callback(pa_context *c, void *this_gen)
- {
-- pthread_mutex_t *const completion_mutex = (pthread_mutex_t*)mutex_gen;
-+ pulse_driver_t * this = (pulse_driver_t*) this_gen;
-+
-+ switch (pa_context_get_state(c)) {
-+
-+ case PA_CONTEXT_READY:
-+ case PA_CONTEXT_TERMINATED:
-+ case PA_CONTEXT_FAILED:
-+ pa_threaded_mainloop_signal(this->mainloop, 0);
-+ break;
-
-- pthread_mutex_unlock(completion_mutex);
-+ case PA_CONTEXT_CONNECTING:
-+ case PA_CONTEXT_UNCONNECTED:
-+ case PA_CONTEXT_AUTHORIZING:
-+ case PA_CONTEXT_SETTING_NAME:
-+ break;
-+ }
- }
-
- /**
-- * @brief Callback function called when the state of the context is changed
-- * @param ctx Context which operation has succeeded
-+ * @brief Callback function called when the state of the stream is changed
-+ * @param s Stream that changed status
- * @param this_gen pulse_driver_t pointer for the PulseAudio output
- * instance.
- */
--static void __xine_pa_context_status_callback(pa_context *const ctx, void *const this_gen)
-+static void __xine_pa_stream_state_callback(pa_stream *s, void *this_gen)
- {
-- pulse_driver_t *const this = (pulse_driver_t*)this_gen;
-+ pulse_driver_t * this = (pulse_driver_t*) this_gen;
-+
-+ switch (pa_stream_get_state(s)) {
-+
-+ case PA_STREAM_READY:
-+ case PA_STREAM_TERMINATED:
-+ case PA_STREAM_FAILED:
-+ pa_threaded_mainloop_signal(this->mainloop, 0);
-+ break;
-
-- switch (pa_context_get_state(ctx)) {
-- case PA_CONTEXT_READY:
-- case PA_CONTEXT_TERMINATED:
-- case PA_CONTEXT_FAILED:
-- pa_threaded_mainloop_signal(this->pa_class->mainloop, 0);
-- break;
--
-- case PA_CONTEXT_CONNECTING:
-- case PA_CONTEXT_UNCONNECTED:
-- case PA_CONTEXT_AUTHORIZING:
-- case PA_CONTEXT_SETTING_NAME:
-- break;
-+ case PA_STREAM_UNCONNECTED:
-+ case PA_STREAM_CREATING:
-+ break;
- }
- }
-
- /**
-- * @brief Callback function called when a context operation succeed
-+ * @brief Callback function called when PA asks for more audio data.
-+ * @param s Stream on which data is requested
-+ * @param nbytes the number of bytes PA requested
-+ * @param this_gen pulse_driver_t pointer for the PulseAudio output
-+ * instance.
-+ */
-+static void __xine_pa_stream_request_callback(pa_stream *s, size_t nbytes, void *this_gen)
-+{
-+ pulse_driver_t * this = (pulse_driver_t*) this_gen;
-+
-+ pa_threaded_mainloop_signal(this->mainloop, 0);
-+}
-+
-+/**
-+ * @brief Callback function called when PA notifies about something
-+ * @param s Stream on which the notification happened
-+ * @param this_gen pulse_driver_t pointer for the PulseAudio output
-+ * instance.
-+ */
-+static void __xine_pa_stream_notify_callback(pa_stream *s, void *this_gen)
-+{
-+ pulse_driver_t * this = (pulse_driver_t*) this_gen;
-+
-+ pa_threaded_mainloop_signal(this->mainloop, 0);
-+}
-+
-+/**
-+ * @brief Callback function called when PA completed an operation
- * @param ctx Context which operation has succeeded
-- * @param success The success value for the operation (ignored)
-+ * @param nbytes the number of bytes PA requested
- * @param this_gen pulse_driver_t pointer for the PulseAudio output
- * instance.
- */
--static void __xine_pa_context_success_callback(pa_context *const ctx, const int success,
-- void *const this_gen)
-+static void __xine_pa_stream_success_callback(pa_stream *s, int success, void *this_gen)
- {
-- pulse_driver_t *const this = (pulse_driver_t*)this_gen;
-+ pulse_driver_t * this = (pulse_driver_t*) this_gen;
-
-- _x_assert(ctx); _x_assert(this);
-- _x_assert(ctx == this->pa_class->context);
-+ if (!success)
-+ xprintf (this->xine, XINE_VERBOSITY_DEBUG, "audio_pulse_out: stream operation failed: %s\n", pa_strerror(pa_context_errno(this->context)));
-
-- pa_threaded_mainloop_signal(this->pa_class->mainloop, 0);
-+ pa_threaded_mainloop_signal(this->mainloop, 0);
-+}
-+
-+/**
-+ * @brief Callback function called when PA completed an operation
-+ * @param c Context on which operation has succeeded
-+ * @param nbytes the number of bytes PA requested
-+ * @param this_gen pulse_driver_t pointer for the PulseAudio output
-+ * instance.
-+ */
-+static void __xine_pa_context_success_callback(pa_context *c, int success, void *this_gen)
-+{
-+ pulse_driver_t *this = (pulse_driver_t*) this_gen;
-+
-+ if (!success)
-+ xprintf (this->xine, XINE_VERBOSITY_DEBUG, "audio_pulse_out: context operation failed: %s\n", pa_strerror(pa_context_errno(this->context)));
-+
-+ pa_threaded_mainloop_signal(this->mainloop, 0);
- }
-
- /**
-@@ -156,14 +202,14 @@ static void __xine_pa_context_success_ca
- * This function saves the volume field of the passed structure to the
- * @c cvolume variable of the output instance.
- */
--static void __xine_pa_sink_info_callback(pa_context *const ctx, const pa_sink_input_info *const info,
-- const int is_last, void *const userdata) {
-+static void __xine_pa_sink_info_callback(pa_context *c, const pa_sink_input_info *info,
-+ int is_last, void *userdata) {
-
- pulse_driver_t *const this = (pulse_driver_t *) userdata;
-
- if (is_last < 0) {
- xprintf (this->xine, XINE_VERBOSITY_DEBUG, "audio_pulse_out: Failed to get sink input info: %s\n",
-- pa_strerror(pa_context_errno(this->pa_class->context)));
-+ pa_strerror(pa_context_errno(this->context)));
- return;
- }
-
-@@ -171,36 +217,90 @@ static void __xine_pa_sink_info_callback
- return;
-
- this->cvolume = info->volume;
-+ this->swvolume = pa_sw_volume_to_linear(pa_cvolume_avg(&info->volume));
-+ this->muted = info->mute;
-+}
-+
-+static int connect_context(pulse_driver_t *this) {
-+
-+ if (this->context && (pa_context_get_state(this->context) == PA_CONTEXT_FAILED ||
-+ pa_context_get_state(this->context) == PA_CONTEXT_TERMINATED)) {
-+ pa_context_unref(this->context);
-+ this->context = NULL;
-+ }
-+
-+ if (!this->context) {
-+ char fn[PATH_MAX], *p;
-+
-+ if (pa_get_binary_name(fn, sizeof(fn)))
-+ p = pa_path_get_filename(fn);
-+ else
-+ p = "Xine";
-
-- pthread_mutex_unlock(&this->info_mutex);
-+ this->context = pa_context_new(pa_threaded_mainloop_get_api(this->mainloop), p);
-+ _x_assert(this->context);
-+
-+ pa_context_set_state_callback(this->context, __xine_pa_context_state_callback, this);
-+ }
-+
-+ if (pa_context_get_state(this->context) == PA_CONTEXT_UNCONNECTED) {
-+
-+ if (pa_context_connect(this->context, this->host, 0, NULL) < 0) {
-+ xprintf (this->xine, XINE_VERBOSITY_DEBUG, "audio_pulse_out: failed to connect context object %s\n", pa_strerror(pa_context_errno(this->context)));
-+ return -1;
-+ }
-+ }
-+
-+ for (;;) {
-+ pa_context_state_t state = pa_context_get_state(this->context);
-+
-+ if (state == PA_CONTEXT_FAILED || state == PA_CONTEXT_TERMINATED) {
-+ xprintf (this->xine, XINE_VERBOSITY_DEBUG, "audio_pulse_out: failed to connect context object: %s\n", pa_strerror(pa_context_errno(this->context)));
-+ return -1;
-+ }
-+
-+ if (state == PA_CONTEXT_READY)
-+ break;
-+
-+ pa_threaded_mainloop_wait(this->mainloop);
-+ }
-+
-+ return 0;
- }
-
- /*
- * open the audio device for writing to
- */
- static int ao_pulse_open(ao_driver_t *this_gen,
-- uint32_t bits, uint32_t rate, int mode)
-+ uint32_t bits, uint32_t rate, int mode)
- {
- pulse_driver_t *this = (pulse_driver_t *) this_gen;
-- struct pa_sample_spec ss;
-- struct pa_buffer_attr a;
-- pa_stream_state_t streamstate;
-+ pa_sample_spec ss;
-+ pa_channel_map cm;
-+ int r;
-
- xprintf (this->xine, XINE_VERBOSITY_DEBUG,
-- "audio_pulse_out: ao_open bits=%d rate=%d, mode=%d\n", bits, rate, mode);
-+ "audio_pulse_out: ao_open bits=%d rate=%d, mode=%d\n", bits, rate, mode);
-
- if ( (mode & this->capabilities) == 0 ) {
- xprintf (this->xine, XINE_VERBOSITY_DEBUG, "audio_pulse_out: unsupported mode %08x\n", mode);
- return 0;
- }
-
-+ pa_threaded_mainloop_lock(this->mainloop);
-+
- if (this->stream) {
-
-- if ( mode == this->mode && rate == this->sample_rate &&
-- bits == this->bits_per_sample )
-+ if (mode == this->mode && rate == this->sample_rate &&
-+ bits == this->bits_per_sample) {
-+
-+ pa_threaded_mainloop_unlock(this->mainloop);
- return this->sample_rate;
-+ }
-
-- this_gen->close(this_gen);
-+ pa_stream_disconnect(this->stream);
-+ pa_stream_unref(this->stream);
-+ this->stream = NULL;
- }
-
- this->mode = mode;
-@@ -221,6 +321,8 @@ static int ao_pulse_open(ao_driver_t *th
- case 32:
- ss.format = PA_SAMPLE_FLOAT32NE;
- break;
-+ default:
-+ _x_assert(!"Should not be reached");
- }
-
- if (!pa_sample_spec_valid(&ss)) {
-@@ -228,70 +330,86 @@ static int ao_pulse_open(ao_driver_t *th
- goto fail;
- }
-
-- if ( this->pa_class->context && pa_context_get_state(this->pa_class->context) > PA_CONTEXT_READY ) {
-- pa_context_unref(this->pa_class->context);
-- this->pa_class->context = NULL;
-- }
--
-- if ( this->pa_class->context == NULL ) {
-- this->pa_class->context = pa_context_new(pa_threaded_mainloop_get_api(this->pa_class->mainloop),
-- __progname);
-- }
--
-- pa_context_ref(this->pa_class->context);
-+ cm.channels = ss.channels;
-
-- if ( pa_context_get_state(this->pa_class->context) == PA_CONTEXT_UNCONNECTED ) {
-- int ret;
-+ switch (mode) {
-+ case AO_CAP_MODE_MONO:
-+ cm.map[0] = PA_CHANNEL_POSITION_MONO;
-+ _x_assert(cm.channels == 1);
-+ break;
-
-- pa_threaded_mainloop_lock(this->pa_class->mainloop);
-- ret = pa_context_connect(this->pa_class->context, this->host, 1, NULL);
-- if ( ret < 0 )
-- goto fail_unlock;
-+ case AO_CAP_MODE_STEREO:
-+ cm.map[0] = PA_CHANNEL_POSITION_FRONT_LEFT;
-+ cm.map[1] = PA_CHANNEL_POSITION_FRONT_RIGHT;
-+ _x_assert(cm.channels == 2);
-+ break;
-
-- pa_context_set_state_callback(this->pa_class->context, __xine_pa_context_status_callback, this);
-+ case AO_CAP_MODE_4CHANNEL:
-+ cm.map[0] = PA_CHANNEL_POSITION_FRONT_LEFT;
-+ cm.map[1] = PA_CHANNEL_POSITION_FRONT_RIGHT;
-+ cm.map[2] = PA_CHANNEL_POSITION_REAR_LEFT;
-+ cm.map[3] = PA_CHANNEL_POSITION_REAR_RIGHT;
-+ _x_assert(cm.channels == 4);
-+ break;
-
-- pa_threaded_mainloop_wait(this->pa_class->mainloop);
-- pa_threaded_mainloop_unlock(this->pa_class->mainloop);
-+ case AO_CAP_MODE_4_1CHANNEL:
-+ case AO_CAP_MODE_5CHANNEL:
-+ case AO_CAP_MODE_5_1CHANNEL:
-+ cm.map[0] = PA_CHANNEL_POSITION_FRONT_LEFT;
-+ cm.map[1] = PA_CHANNEL_POSITION_FRONT_RIGHT;
-+ cm.map[2] = PA_CHANNEL_POSITION_REAR_LEFT;
-+ cm.map[3] = PA_CHANNEL_POSITION_REAR_RIGHT;
-+ cm.map[4] = PA_CHANNEL_POSITION_FRONT_CENTER;
-+ cm.map[5] = PA_CHANNEL_POSITION_LFE;
-+ cm.channels = 6;
-+ break;
-+ default:
-+ _x_assert(!"Should not be reached");
- }
-
-- if (pa_context_get_state(this->pa_class->context) != PA_CONTEXT_READY) {
-- xprintf (this->xine, XINE_VERBOSITY_DEBUG, "audio_pulse_out: Failed to connect to server: %s\n",
-- pa_strerror(pa_context_errno(this->pa_class->context)));
-+ if (!pa_channel_map_valid(&cm)) {
-+ xprintf (this->xine, XINE_VERBOSITY_DEBUG, "audio_pulse_out: Invalid channel map\n");
- goto fail;
- }
-
-- this->stream = pa_stream_new(this->pa_class->context, "audio stream", &ss, NULL);
-+ if (connect_context(this) < 0)
-+ goto fail;
-+
-+ _x_assert(!this->stream);
-+ this->stream = pa_stream_new(this->context, "Audio Stream", &ss, &cm);
- _x_assert(this->stream);
-
-- a.maxlength = pa_bytes_per_second(&ss)*1;
-- a.tlength = a.maxlength*9/10;
-- a.prebuf = a.tlength/2;
-- a.minreq = a.tlength/10;
-+ pa_stream_set_state_callback(this->stream, __xine_pa_stream_state_callback, this);
-+ pa_stream_set_write_callback(this->stream, __xine_pa_stream_request_callback, this);
-+ pa_stream_set_latency_update_callback(this->stream, __xine_pa_stream_notify_callback, this);
-
-- pa_stream_connect_playback(this->stream, this->sink, &a,
-- PA_STREAM_INTERPOLATE_TIMING|PA_STREAM_AUTO_TIMING_UPDATE,
-+ r = pa_stream_connect_playback(this->stream, this->sink, NULL,
-+ PA_STREAM_INTERPOLATE_TIMING|PA_STREAM_AUTO_TIMING_UPDATE,
- NULL, NULL);
-
-- do {
-- xine_usec_sleep (100);
-+ for (;;) {
-+ pa_context_state_t cstate = pa_context_get_state(this->context);
-+ pa_stream_state_t sstate = pa_stream_get_state(this->stream);
-+
-+ if (cstate == PA_CONTEXT_FAILED || cstate == PA_CONTEXT_TERMINATED ||
-+ sstate == PA_STREAM_FAILED || sstate == PA_STREAM_TERMINATED) {
-+ xprintf (this->xine, XINE_VERBOSITY_DEBUG, "audio_pulse_out: failed to connect context object: %s\n", pa_strerror(pa_context_errno(this->context)));
-+ goto fail;
-+ }
-
-- streamstate = pa_stream_get_state(this->stream);
-- } while (streamstate < PA_STREAM_READY);
--
-- if (streamstate != PA_STREAM_READY) {
-- xprintf (this->xine, XINE_VERBOSITY_LOG, "audio_pulse_out: Failed to connect to server: %s\n",
-- pa_strerror(pa_context_errno(this->pa_class->context)));
-- goto fail;
-+ if (sstate == PA_STREAM_READY)
-+ break;
-+
-+ pa_threaded_mainloop_wait(this->mainloop);
- }
-- this->frames_written = 0;
-
-- this->ao_driver.set_property(this, AO_PROP_PCM_VOL, 100);
-+ pa_threaded_mainloop_unlock(this->mainloop);
-
- return this->sample_rate;
-
-- fail_unlock:
-- pa_threaded_mainloop_unlock(this->pa_class->mainloop);
- fail:
-+
-+ pa_threaded_mainloop_unlock(this->mainloop);
- this_gen->close(this_gen);
- return 0;
- }
-@@ -319,217 +437,348 @@ static int ao_pulse_write(ao_driver_t *t
- {
- pulse_driver_t *this = (pulse_driver_t *) this_gen;
- size_t size = num_frames * this->bytes_per_frame;
-- int ret = 0;
--
-- if ( !this->stream || !this->pa_class->context)
-- return -1;
--
-- switch( pa_stream_get_state(this->stream) ) {
-- case PA_STREAM_READY:
-- while (size > 0) {
-- size_t l;
-+ int ret = -1;
-+ size_t done = 0;
-
-- while (!(l = pa_stream_writable_size(this->stream))) {
-- xine_usec_sleep (10000);
-- }
-+ pa_threaded_mainloop_lock(this->mainloop);
-
-- if (l > size)
-- l = size;
--
-- pa_stream_write(this->stream, data, l, NULL, 0, PA_SEEK_RELATIVE);
-- data = (int16_t *) ((uint8_t*) data + l);
-- size -= l;
-- }
-+ while (size > 0) {
-+ size_t l;
-
-- this->frames_written += num_frames;
-+ for (;;) {
-
-- if (pa_stream_get_state(this->stream) == PA_STREAM_READY)
-- ret = 1;
-+ if (!this->stream ||
-+ !this->context ||
-+ pa_context_get_state(this->context) != PA_CONTEXT_READY ||
-+ pa_stream_get_state(this->stream) != PA_STREAM_READY)
-+ goto finish;
-
-- break;
-+ if ((l = pa_stream_writable_size(this->stream)) == (size_t) -1)
-+ goto finish;
-+
-+ if (l > 0)
-+ break;
-+
-+ pa_threaded_mainloop_wait(this->mainloop);
-+ }
-+
-+ if (l > size)
-+ l = size;
-+
-+ pa_stream_write(this->stream, data, l, NULL, 0, PA_SEEK_RELATIVE);
-+ data = (int16_t *) ((uint8_t*) data + l);
-+ size -= l;
-+ done += l;
- }
-
-+ ret = done;
-+
-+finish:
-+
-+ pa_threaded_mainloop_unlock(this->mainloop);
-+
-+/* fprintf(stderr, "write-out\n"); */
-+
- return ret;
--}
-
-+}
-
- static int ao_pulse_delay (ao_driver_t *this_gen)
- {
- pulse_driver_t *this = (pulse_driver_t *) this_gen;
-- pa_usec_t latency = 0;
-- unsigned int delay_frames;
-+ int ret = 0;
-
-- if ( ! this->stream ) return this->frames_written;
-+/* fprintf(stderr, "delay-in\n"); */
-
-- if (pa_stream_get_latency(this->stream, &latency, NULL) < 0) {
-- pa_context_unref(this->pa_class->context);
-- this->pa_class->context = NULL;
-+ pa_threaded_mainloop_lock(this->mainloop);
-
-- pa_stream_disconnect(this->stream);
-- pa_stream_unref(this->stream);
-- this->stream = NULL;
-+ for (;;) {
-+ pa_usec_t latency = 0;
-
-- return 0;
-+ if (!this->stream ||
-+ !this->context ||
-+ pa_context_get_state(this->context) != PA_CONTEXT_READY ||
-+ pa_stream_get_state(this->stream) != PA_STREAM_READY)
-+ goto finish;
-+
-+ if (pa_stream_get_latency(this->stream, &latency, NULL) >= 0) {
-+ ret = (int) ((latency * this->sample_rate) / 1000000);
-+ goto finish;
-+ }
-+
-+ if (pa_context_errno(this->context) != PA_ERR_NODATA) {
-+ xprintf (this->xine, XINE_VERBOSITY_DEBUG, "audio_pulse_out: failed to query latency: %s\n", pa_strerror(pa_context_errno(this->context)));
-+ goto finish;
-+ }
-+
-+ pa_threaded_mainloop_wait(this->mainloop);
- }
-
-- /* convert latency (us) to frame units. */
-- delay_frames = (int)(latency * this->sample_rate / 1000000);
-+finish:
-
-- if( delay_frames > this->frames_written )
-- return this->frames_written;
-- else
-- return delay_frames;
-+ pa_threaded_mainloop_unlock(this->mainloop);
-+
-+ return ret;
- }
-
- static void ao_pulse_close(ao_driver_t *this_gen)
- {
- pulse_driver_t *this = (pulse_driver_t *) this_gen;
--
-- if (this->stream) {
-- if (pa_stream_get_state(this->stream) == PA_STREAM_READY) {
-- pthread_mutex_t completion_callback = PTHREAD_MUTEX_INITIALIZER; pthread_mutex_lock(&completion_callback);
-- pa_stream_drain(this->stream, __xine_pa_stream_success_callback, &completion_callback);
-
-- pthread_mutex_lock(&completion_callback);
-- pthread_mutex_destroy(&completion_callback);
-- }
-+ pa_threaded_mainloop_lock(this->mainloop);
-
-+ if (this->stream) {
- pa_stream_disconnect(this->stream);
- pa_stream_unref(this->stream);
- this->stream = NULL;
--
-- pa_context_unref(this->pa_class->context);
- }
-+
-+ pa_threaded_mainloop_unlock(this->mainloop);
- }
-
- static uint32_t ao_pulse_get_capabilities (ao_driver_t *this_gen) {
- pulse_driver_t *this = (pulse_driver_t *) this_gen;
-+
- return this->capabilities;
- }
-
--static void ao_pulse_exit(ao_driver_t *this_gen)
--{
-+static void ao_pulse_exit(ao_driver_t *this_gen) {
- pulse_driver_t *this = (pulse_driver_t *) this_gen;
-
-- free (this);
-+ ao_pulse_close(this_gen);
-+
-+ pa_threaded_mainloop_lock(this->mainloop);
-+
-+ if (this->context) {
-+ pa_context_disconnect(this->context);
-+ pa_context_unref(this->context);
-+ }
-+
-+ pa_threaded_mainloop_unlock(this->mainloop);
-+
-+ pa_threaded_mainloop_free(this->mainloop);
-+
-+ free(this->host);
-+ free(this->sink);
-+ free(this);
-+}
-+
-+static int wait_for_operation(pulse_driver_t *this, pa_operation *o) {
-+
-+ for (;;) {
-+
-+ if (!this->stream ||
-+ !this->context ||
-+ pa_context_get_state(this->context) != PA_CONTEXT_READY ||
-+ pa_stream_get_state(this->stream) != PA_STREAM_READY)
-+ return -1;
-+
-+ if (pa_operation_get_state(o) != PA_OPERATION_RUNNING)
-+ return 0;
-+
-+ pa_threaded_mainloop_wait(this->mainloop);
-+ }
- }
-
- static int ao_pulse_get_property (ao_driver_t *this_gen, int property) {
- pulse_driver_t *this = (pulse_driver_t *) this_gen;
- int result = 0;
-+ pa_operation *o = NULL;
-
-- if ( ! this->stream || ! this->pa_class->context )
-+ pa_threaded_mainloop_lock(this->mainloop);
-+
-+ if (!this->stream ||
-+ !this->context ||
-+ pa_context_get_state(this->context) != PA_CONTEXT_READY ||
-+ pa_stream_get_state(this->stream) != PA_STREAM_READY) {
-+ pa_threaded_mainloop_unlock(this->mainloop);
- return 0;
-+ }
-
- switch(property) {
-- case AO_PROP_PCM_VOL:
-- case AO_PROP_MIXER_VOL:
-- {
-- pthread_mutex_lock(&this->info_mutex);
-- pa_operation *o = pa_context_get_sink_input_info(this->pa_class->context,
-- pa_stream_get_index(this->stream),
-- __xine_pa_sink_info_callback, this);
-- if ( ! o ) return 0;
-- pthread_mutex_lock(&this->info_mutex); pthread_mutex_unlock(&this->info_mutex);
--
-- result = (pa_sw_volume_to_linear(this->swvolume)*100);
-- }
-- break;
-
-- case AO_PROP_MUTE_VOL:
-- result = pa_cvolume_is_muted(&this->cvolume);
-- break;
-+ case AO_PROP_MUTE_VOL:
-+ case AO_PROP_PCM_VOL:
-+ case AO_PROP_MIXER_VOL:
-+
-+ o = pa_context_get_sink_input_info(this->context, pa_stream_get_index(this->stream),
-+ __xine_pa_sink_info_callback, this);
-+
-+ break;
-+ }
-+
-+ if (o) {
-+ wait_for_operation(this, o);
-+ pa_operation_unref(o);
- }
--
-+
-+ switch(property) {
-+
-+ case AO_PROP_MUTE_VOL:
-+ result = this->muted;
-+ break;
-+
-+ case AO_PROP_PCM_VOL:
-+ case AO_PROP_MIXER_VOL:
-+ result = (int) (pa_sw_volume_to_linear(this->swvolume)*100);
-+ break;
-+ }
-+
-+ pa_threaded_mainloop_unlock(this->mainloop);
-+
- return result;
- }
-
- static int ao_pulse_set_property (ao_driver_t *this_gen, int property, int value) {
- pulse_driver_t *this = (pulse_driver_t *) this_gen;
- int result = ~value;
-+ pa_operation *o = NULL;
-
-- if ( ! this->stream || ! this->pa_class->context )
-- return result;
-+ pa_threaded_mainloop_lock(this->mainloop);
-+
-+ if (!this->stream ||
-+ !this->context ||
-+ pa_context_get_state(this->context) != PA_CONTEXT_READY ||
-+ pa_stream_get_state(this->stream) != PA_STREAM_READY) {
-+ pa_threaded_mainloop_unlock(this->mainloop);
-+ return 0;
-+ }
-
- switch(property) {
-- case AO_PROP_PCM_VOL:
-- case AO_PROP_MIXER_VOL:
-- this->swvolume = pa_sw_volume_from_linear((double)value/100.0);
-- pa_cvolume_set(&this->cvolume, pa_stream_get_sample_spec(this->stream)->channels, this->swvolume);
--
-- pa_context_set_sink_input_volume(this->pa_class->context, pa_stream_get_index(this->stream),
-- &this->cvolume, __xine_pa_context_success_callback, this);
--
-- result = value;
-- break;
--
-- case AO_PROP_MUTE_VOL:
-- if ( value )
-- pa_cvolume_mute(&this->cvolume, pa_stream_get_sample_spec(this->stream)->channels);
-- else
-+ case AO_PROP_PCM_VOL:
-+ case AO_PROP_MIXER_VOL:
-+
-+ this->swvolume = pa_sw_volume_from_linear((double)value/100.0);
- pa_cvolume_set(&this->cvolume, pa_stream_get_sample_spec(this->stream)->channels, this->swvolume);
-
-- pa_context_set_sink_input_volume(this->pa_class->context, pa_stream_get_index(this->stream),
-- &this->cvolume, __xine_pa_context_success_callback, this);
--
-- result = value;
-- break;
-+ o = pa_context_set_sink_input_volume(this->context, pa_stream_get_index(this->stream),
-+ &this->cvolume, __xine_pa_context_success_callback, this);
-+
-+ result = value;
-+ break;
-+
-+ case AO_PROP_MUTE_VOL:
-+
-+ this->muted = value;
-+
-+ o = pa_context_set_sink_input_mute(this->context, pa_stream_get_index(this->stream),
-+ value, __xine_pa_context_success_callback, this);
-+
-+ result = value;
-+ }
-+
-+ if (o) {
-+ wait_for_operation(this, o);
-+ pa_operation_unref(o);
- }
--
-+
-+ pa_threaded_mainloop_unlock(this->mainloop);
-+
- return result;
- }
-
- static int ao_pulse_ctrl(ao_driver_t *this_gen, int cmd, ...) {
- pulse_driver_t *this = (pulse_driver_t *) this_gen;
-+ pa_operation *o = NULL;
-+
-+ pa_threaded_mainloop_lock(this->mainloop);
-
-- if ( ! this->stream ) return 0;
-+ if (!this->stream ||
-+ !this->context ||
-+ pa_context_get_state(this->context) != PA_CONTEXT_READY ||
-+ pa_stream_get_state(this->stream) != PA_STREAM_READY) {
-+ pa_threaded_mainloop_unlock(this->mainloop);
-+ return 0;
-+ }
-
- switch (cmd) {
-
-- case AO_CTRL_FLUSH_BUFFERS:
-- _x_assert(this->stream && this->pa_class->context);
-+ case AO_CTRL_FLUSH_BUFFERS:
-
-- if(pa_stream_get_state(this->stream) == PA_STREAM_READY) {
-- pthread_mutex_t completion_callback = PTHREAD_MUTEX_INITIALIZER; pthread_mutex_lock(&completion_callback);
-- pa_stream_flush(this->stream, __xine_pa_stream_success_callback, &completion_callback);
-+ o = pa_stream_flush(this->stream, __xine_pa_stream_success_callback, this);
-+ break;
-
-- pthread_mutex_lock(&completion_callback);
-- pthread_mutex_destroy(&completion_callback);
-- }
-+ case AO_CTRL_PLAY_RESUME:
-+ case AO_CTRL_PLAY_PAUSE:
-
-- this->frames_written = 0;
-+ o = pa_stream_cork(this->stream, cmd == AO_CTRL_PLAY_PAUSE, __xine_pa_stream_success_callback, this);
-+ break;
-+ }
-
-- break;
-+ if (o) {
-+ wait_for_operation(this, o);
-+ pa_operation_unref(o);
- }
-
-+ pa_threaded_mainloop_unlock(this->mainloop);
-+
- return 0;
- }
-
- static ao_driver_t *open_plugin (audio_driver_class_t *class_gen, const void *data) {
- pulse_class_t *class = (pulse_class_t *) class_gen;
- pulse_driver_t *this;
-- char *device;
-+ const char* device;
-+ int r;
-
- lprintf ("audio_pulse_out: open_plugin called\n");
-
- this = (pulse_driver_t *) xine_xmalloc (sizeof (pulse_driver_t));
- if (!this)
- return NULL;
-+
- this->xine = class->xine;
-+ this->host = NULL;
-+ this->sink = NULL;
-+ this->context = NULL;
-+ this->mainloop = NULL;
-+
-+ device = class->xine->config->register_string(class->xine->config,
-+ "audio.pulseaudio_device",
-+ "",
-+ _("device used for pulseaudio"),
-+ _("use 'server[:sink]' for setting the "
-+ "pulseaudio sink device."),
-+ 10, NULL,
-+ NULL);
-+
-+ if (device && *device) {
-+ char *sep = strrchr(device, ':');
-+ if ( sep ) {
-+ if (!(this->host = strndup(device, sep-device))) {
-+ free(this);
-+ return NULL;
-+ }
-+
-+ if (!(this->sink = strdup(sep+1))) {
-+ free(this->host);
-+ free(this);
-+ return NULL;
-+ }
-+ } else {
-+
-+ if (!(this->host = strdup(device))) {
-+ free(this);
-+ return NULL;
-+ }
-+ }
-+ }
-+
-+ this->mainloop = pa_threaded_mainloop_new();
-+ _x_assert(this->mainloop);
-+ pa_threaded_mainloop_start(this->mainloop);
-
- /*
- * set capabilities
- */
-- this->capabilities = AO_CAP_MODE_MONO | AO_CAP_MODE_STEREO | AO_CAP_MODE_4CHANNEL |
-- AO_CAP_MODE_4_1CHANNEL | AO_CAP_MODE_5CHANNEL |
-- AO_CAP_MODE_5_1CHANNEL | AO_CAP_MIXER_VOL |
-- AO_CAP_PCM_VOL | AO_CAP_MUTE_VOL | AO_CAP_8BITS |
-- AO_CAP_16BITS | AO_CAP_FLOAT32;
-+ this->capabilities =
-+ AO_CAP_MODE_MONO | AO_CAP_MODE_STEREO | AO_CAP_MODE_4CHANNEL |
-+ AO_CAP_MODE_4_1CHANNEL | AO_CAP_MODE_5CHANNEL | AO_CAP_MODE_5_1CHANNEL |
-+ AO_CAP_MIXER_VOL | AO_CAP_PCM_VOL | AO_CAP_MUTE_VOL |
-+ AO_CAP_8BITS | AO_CAP_16BITS | AO_CAP_FLOAT32;
-
- this->sample_rate = 0;
-- this->host = NULL;
-- this->sink = NULL;
--
-+
- this->ao_driver.get_capabilities = ao_pulse_get_capabilities;
- this->ao_driver.get_property = ao_pulse_get_property;
- this->ao_driver.set_property = ao_pulse_set_property;
-@@ -541,33 +790,22 @@ static ao_driver_t *open_plugin (audio_d
- this->ao_driver.close = ao_pulse_close;
- this->ao_driver.exit = ao_pulse_exit;
- this->ao_driver.get_gap_tolerance = ao_pulse_get_gap_tolerance;
-- this->ao_driver.control = ao_pulse_ctrl;
--
-- device = this->xine->config->register_string(this->xine->config,
-- "audio.pulseaudio_device",
-- "",
-- _("device used for pulseaudio"),
-- _("use 'server[:sink]' for setting the "
-- "pulseaudio sink device."),
-- 10, NULL,
-- NULL);
--
-- if (device && *device) {
-- char *sep = strchr(device, ':');
-- if ( sep ) {
-- this->host = strndup(device, sep-device);
-- this->sink = strdup(&sep[1]);
-- } else
-- this->host = strdup(device);
-- }
--
-- pthread_mutex_init(&this->info_mutex, NULL);
-+ this->ao_driver.control = ao_pulse_ctrl;
-
- xprintf (class->xine, XINE_VERBOSITY_DEBUG, "audio_pulse_out: host %s sink %s\n",
- this->host ? this->host : "(null)", this->sink ? this->sink : "(null)");
-
- this->pa_class = class;
-
-+ pa_threaded_mainloop_lock(this->mainloop);
-+ r = connect_context(this);
-+ pa_threaded_mainloop_unlock(this->mainloop);
-+
-+ if (r < 0) {
-+ ao_pulse_exit((ao_driver_t *) this);
-+ return NULL;
-+ }
-+
- return &this->ao_driver;
- }
-
-@@ -587,13 +825,7 @@ static void dispose_class (audio_driver_
-
- pulse_class_t *this = (pulse_class_t *) this_gen;
-
-- if ( this->context )
-- pa_context_unref(this->context);
--
-- pa_threaded_mainloop_stop(this->mainloop);
-- pa_threaded_mainloop_free(this->mainloop);
--
-- free (this);
-+ free(this);
- }
-
- static void *init_class (xine_t *xine, void *data) {
-@@ -606,25 +838,17 @@ static void *init_class (xine_t *xine, v
- if (!this)
- return NULL;
-
-+ this->xine = xine;
- this->driver_class.open_plugin = open_plugin;
- this->driver_class.get_identifier = get_identifier;
- this->driver_class.get_description = get_description;
- this->driver_class.dispose = dispose_class;
-
-- this->xine = xine;
--
-- this->mainloop = pa_threaded_mainloop_new();
-- _x_assert(this->mainloop);
--
-- pa_threaded_mainloop_start(this->mainloop);
--
-- this->context = NULL;
--
- return this;
- }
-
- static const ao_info_t ao_info_pulse = {
-- 6
-+ 12
- };
-
- /*
-@@ -636,5 +860,3 @@ const plugin_info_t xine_plugin_info[] E
- { PLUGIN_AUDIO_OUT, 8, "pulseaudio", XINE_VERSION_CODE, &ao_info_pulse, init_class },
- { PLUGIN_NONE, 0, "", 0, NULL, NULL }
- };
--
--
commit 386e299c4adf4e4d4c11ec50336924783119973e
Author: Ville Skyttä <scop(a)fedoraproject.org>
Date: Wed Apr 9 19:36:16 2008 +0000
* Wed Apr 9 2008 Ville Skyttä <ville.skytta at iki.fi>
- Apply upstream fixes for Quicktime (#441705) and Matroska regressions
introduced in 1.1.11.1.
diff --git a/xine-lib-1.1.11.1-mkv.patch b/xine-lib-1.1.11.1-mkv.patch
new file mode 100644
index 0000000..c835db1
--- /dev/null
+++ b/xine-lib-1.1.11.1-mkv.patch
@@ -0,0 +1,21 @@
+
+# HG changeset patch
+# User Darren Salt <linux(a)youmustbejoking.demon.co.uk>
+# Date 1207353205 -3600
+# Node ID ff20b8db74eabc74b7b95da4c1b44fc5d7f2ec8c
+# Parent 05ebc886fd30158b59a26e03cf2f6f3a52114b24
+Fix a regression in the Matroska demuxer.
+One '&'...
+
+--- a/src/demuxers/ebml.c Fri Apr 04 18:35:33 2008 +0100
++++ b/src/demuxers/ebml.c Sat Apr 05 00:53:25 2008 +0100
+@@ -327,7 +327,7 @@ char *ebml_alloc_read_ascii (ebml_parser
+ if (text)
+ {
+ text[elem->len] = '\0';
+- if (ebml_read_ascii (ebml, &elem, text))
++ if (ebml_read_ascii (ebml, elem, text))
+ return text;
+ free (text);
+ }
+
diff --git a/xine-lib-1.1.11.1-qt.patch b/xine-lib-1.1.11.1-qt.patch
new file mode 100644
index 0000000..54a9c67
--- /dev/null
+++ b/xine-lib-1.1.11.1-qt.patch
@@ -0,0 +1,23 @@
+
+# HG changeset patch
+# User Darren Salt <linux(a)youmustbejoking.demon.co.uk>
+# Date 1206976103 -3600
+# Node ID d8e1305c13820b82d896f7bc77d196b9c9645dd6
+# Parent 2cc583bdc498fd6c95b8a21c10e81a0cef4d63c6
+Revert a change which broke Quicktime atom parsing.
+
+--- a/src/demuxers/demux_qt.c Sun Mar 30 19:48:58 2008 +0100
++++ b/src/demuxers/demux_qt.c Mon Mar 31 16:08:23 2008 +0100
+@@ -895,11 +895,6 @@ static qt_error parse_trak_atom (qt_trak
+ for (i = ATOM_PREAMBLE_SIZE; i < trak_atom_size - 4; i++) {
+ current_atom_size = _X_BE_32(&trak_atom[i - 4]);
+ current_atom = _X_BE_32(&trak_atom[i]);
+-
+- if (current_atom_size > trak_atom_size - i) {
+- last_error = QT_NOT_A_VALID_FILE;
+- goto free_trak;
+- }
+
+ if (current_atom == TKHD_ATOM) {
+ trak->flags = _X_BE_16(&trak_atom[i + 6]);
+
diff --git a/xine-lib.spec b/xine-lib.spec
index a16b152..eb41b78 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -32,7 +32,7 @@
Summary: Xine library
Name: xine-lib
Version: 1.1.11.1
-Release: 2%{?dist}
+Release: 3%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -50,7 +50,9 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
# upstream patches
# lennart said this was upstreamed already. :)
-Patch100: http://0pointer.de/public/xine-pulse-rework2.patch
+Patch100: http://0pointer.de/public/xine-pulse-rework2.patch
+Patch101: %{name}-1.1.11.1-mkv.patch
+Patch102: %{name}-1.1.11.1-qt.patch
Provides: xine-lib(plugin-abi) = %{abiver}
# X11
@@ -182,6 +184,8 @@ touch -r m4/optimizations.m4.stamp m4/optimizations.m4
%patch6 -p1 -b .deepbind
%patch100 -p1 -b .pulse-rework2
+%patch101 -p1 -b .mkv
+%patch102 -p1 -b .qt
# Avoid standard rpaths on lib64 archs:
sed -i -e 's|"/lib /usr/lib\b|"/%{_lib} %{_libdir}|' configure
@@ -403,6 +407,10 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Wed Apr 9 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.11.1-3
+- Apply upstream fixes for Quicktime (#441705) and Matroska regressions
+ introduced in 1.1.11.1.
+
* Mon Apr 07 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.11.1-2
- pulse-rework2 patch (#439731)
- -pulseaudio subpkg (#439731)
commit 269c125c0d939eb7c7fbff61cc22d7e5a663210c
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Mon Apr 7 13:09:55 2008 +0000
* Mon Apr 07 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.11.1-2
- pulse-rework2 patch (#439731)
- -pulseaudio subpkg (#439731)
diff --git a/xine-lib.spec b/xine-lib.spec
index 383882d..a16b152 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -32,7 +32,7 @@
Summary: Xine library
Name: xine-lib
Version: 1.1.11.1
-Release: 1%{?dist}
+Release: 2%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -48,6 +48,10 @@ Patch1: %{name}-1.1.4-optflags.patch
Patch6: %{name}-1.1.1-deepbind-939.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+# upstream patches
+# lennart said this was upstreamed already. :)
+Patch100: http://0pointer.de/public/xine-pulse-rework2.patch
+
Provides: xine-lib(plugin-abi) = %{abiver}
# X11
BuildRequires: libX11-devel
@@ -119,6 +123,7 @@ Requires: zlib-devel
%description devel
This package contains development files for xine-lib.
+# TODO: consider removing and/or marking as deprecated for F9+ -- Rex
%package arts
Summary: aRts plugin for xine-lib
Group: System Environment/Libraries
@@ -129,6 +134,16 @@ Obsoletes: xine-lib-extras < 1.1.7-3
%description arts
This package contains the aRts extra plugin for xine-lib.
+%package pulseaudio
+Summary: Pulseaudio plugin for xine-lib
+Group: System Environment/Libraries
+Requires: %{name} = %{version}-%{release}
+# -pulseaudio was split off -extras at 1.1.11.1-2
+#Obsoletes: xine-lib-extras < 1.1.11.1-2
+
+%description pulseaudio
+This package contains the pulseaudio plugin for xine-lib.
+
%package extras
Summary: Additional plugins for xine-lib
Group: System Environment/Libraries
@@ -138,9 +153,6 @@ Requires: %{name} = %{version}-%{release}
This package contains extra plugins for xine-lib:
- EsounD
- JACK
-%if %{with_pa}
- - Pulseaudio
-%endif # pa
- GDK-Pixbuf
- GNOME VFS
- SMB
@@ -169,6 +181,8 @@ touch -r m4/optimizations.m4.stamp m4/optimizations.m4
# Patch6 needed at least when compiling with external ffmpeg, #939.
%patch6 -p1 -b .deepbind
+%patch100 -p1 -b .pulse-rework2
+
# Avoid standard rpaths on lib64 archs:
sed -i -e 's|"/lib /usr/lib\b|"/%{_lib} %{_libdir}|' configure
@@ -348,13 +362,16 @@ rm -rf $RPM_BUILD_ROOT
%defattr(-,root,root,-)
%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_arts.so
+%if %{with_pa}
+%files pulseaudio
+%defattr(-,root,root,-)
+%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_pulseaudio.so
+%endif
+
%files extras
%defattr(-,root,root,-)
%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_esd.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_jack.so
-%if %{with_pa}
-%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_pulseaudio.so
-%endif # pa
%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_gdk_pixbuf.so
%if 0%{!?_without_imagemagick:1}
%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_image.so
@@ -386,6 +403,10 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Mon Apr 07 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.11.1-2
+- pulse-rework2 patch (#439731)
+- -pulseaudio subpkg (#439731)
+
* Sun Mar 30 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.11.1-1
- 1.1.11.1 (security update, #438663, CVE-2008-1482).
- Provide versioned xine-lib(plugin-abi) so 3rd party packages installing
diff --git a/xine-pulse-rework2.patch b/xine-pulse-rework2.patch
new file mode 100644
index 0000000..7f29efb
--- /dev/null
+++ b/xine-pulse-rework2.patch
@@ -0,0 +1,1039 @@
+--- xine-lib-1.1.11.1/src/audio_out/audio_pulse_out.c 2008-03-28 15:24:49.000000000 +0100
++++ xine-lib-1.1.11.1.lennart/src/audio_out/audio_pulse_out.c 2008-04-02 22:55:49.000000000 +0200
+@@ -1,28 +1,28 @@
+-/*
+- * Copyright (C) 2000-2007 the xine project
+- *
++/* -*- Mode: C; c-basic-offset: 2; indent-tabs-mode: nil -*- */
++
++/*
++ * Copyright (C) 2000-2008 the xine project
++ *
+ * This file is part of xine, a free video player.
+- *
++ *
+ * xine is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+- *
++ *
+ * xine 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 General Public License for more details.
+- *
++ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
+ *
+- * ao plugin for pulseaudio (rename of polypaudio):
++ * ao plugin for PulseAudio:
+ * http://0pointer.de/lennart/projects/pulsaudio/
+ *
+- * originally written for polypaudio simple api. Lennart then suggested
+- * using the async api for better control (such as volume), therefore, a lot
+- * of this code comes from Lennart's patch to mplayer.
++ * Diego Petteno, Lennart Poettering
+ */
+
+ #ifdef HAVE_CONFIG_H
+@@ -48,15 +48,9 @@
+
+ #define GAP_TOLERANCE AO_MAX_GAP
+
+-/* CHECKME: should this be conditional on autotools? */
+-extern const char *__progname;
+-
+ typedef struct {
+ audio_driver_class_t driver_class;
+ xine_t *xine;
+-
+- struct pa_context *context; /*< Pulseaudio connection context */
+- struct pa_threaded_mainloop *mainloop; /*< Main event loop object */
+ } pulse_class_t;
+
+ typedef struct pulse_driver_s {
+@@ -67,11 +61,13 @@ typedef struct pulse_driver_s {
+
+ char *host; /*< The host to connect to */
+ char *sink; /*< The sink to connect to */
+- struct pa_stream *stream; /*< Pulseaudio playback stream object */
+
+- pthread_mutex_t info_mutex; /**< Mutex for info callback signaling */
++ pa_threaded_mainloop *mainloop; /*< Main event loop object */
++ pa_context *context; /*< Pulseaudio connection context */
++ pa_stream *stream; /*< Pulseaudio playback stream object */
+
+ pa_volume_t swvolume;
++ int muted;
+ pa_cvolume cvolume;
+
+ int capabilities;
+@@ -82,67 +78,117 @@ typedef struct pulse_driver_s {
+ uint32_t bits_per_sample;
+ uint32_t bytes_per_frame;
+
+- uint32_t frames_written;
+-
+ } pulse_driver_t;
+
+
+ /**
+- * @brief Callback function called when a stream operation succeed
+- * @param stream Stream which operation has succeeded
+- * @param success The success value for the operation (ignored)
+- * @param this_Gen pulse_driver_t pointer for the PulseAudio output
+- * instance.
++ * @brief Callback function called when the state of the context is changed
++ * @param c Context which changed status
++ * @param this_gen pulse_class_t pointer for the PulseAudio output class
+ */
+-static void __xine_pa_stream_success_callback(pa_stream *const stream, const int success,
+- void *const mutex_gen)
++static void __xine_pa_context_state_callback(pa_context *c, void *this_gen)
+ {
+- pthread_mutex_t *const completion_mutex = (pthread_mutex_t*)mutex_gen;
++ pulse_driver_t * this = (pulse_driver_t*) this_gen;
++
++ switch (pa_context_get_state(c)) {
++
++ case PA_CONTEXT_READY:
++ case PA_CONTEXT_TERMINATED:
++ case PA_CONTEXT_FAILED:
++ pa_threaded_mainloop_signal(this->mainloop, 0);
++ break;
+
+- pthread_mutex_unlock(completion_mutex);
++ case PA_CONTEXT_CONNECTING:
++ case PA_CONTEXT_UNCONNECTED:
++ case PA_CONTEXT_AUTHORIZING:
++ case PA_CONTEXT_SETTING_NAME:
++ break;
++ }
+ }
+
+ /**
+- * @brief Callback function called when the state of the context is changed
+- * @param ctx Context which operation has succeeded
++ * @brief Callback function called when the state of the stream is changed
++ * @param s Stream that changed status
+ * @param this_gen pulse_driver_t pointer for the PulseAudio output
+ * instance.
+ */
+-static void __xine_pa_context_status_callback(pa_context *const ctx, void *const this_gen)
++static void __xine_pa_stream_state_callback(pa_stream *s, void *this_gen)
+ {
+- pulse_driver_t *const this = (pulse_driver_t*)this_gen;
++ pulse_driver_t * this = (pulse_driver_t*) this_gen;
++
++ switch (pa_stream_get_state(s)) {
++
++ case PA_STREAM_READY:
++ case PA_STREAM_TERMINATED:
++ case PA_STREAM_FAILED:
++ pa_threaded_mainloop_signal(this->mainloop, 0);
++ break;
+
+- switch (pa_context_get_state(ctx)) {
+- case PA_CONTEXT_READY:
+- case PA_CONTEXT_TERMINATED:
+- case PA_CONTEXT_FAILED:
+- pa_threaded_mainloop_signal(this->pa_class->mainloop, 0);
+- break;
+-
+- case PA_CONTEXT_CONNECTING:
+- case PA_CONTEXT_UNCONNECTED:
+- case PA_CONTEXT_AUTHORIZING:
+- case PA_CONTEXT_SETTING_NAME:
+- break;
++ case PA_STREAM_UNCONNECTED:
++ case PA_STREAM_CREATING:
++ break;
+ }
+ }
+
+ /**
+- * @brief Callback function called when a context operation succeed
++ * @brief Callback function called when PA asks for more audio data.
++ * @param s Stream on which data is requested
++ * @param nbytes the number of bytes PA requested
++ * @param this_gen pulse_driver_t pointer for the PulseAudio output
++ * instance.
++ */
++static void __xine_pa_stream_request_callback(pa_stream *s, size_t nbytes, void *this_gen)
++{
++ pulse_driver_t * this = (pulse_driver_t*) this_gen;
++
++ pa_threaded_mainloop_signal(this->mainloop, 0);
++}
++
++/**
++ * @brief Callback function called when PA notifies about something
++ * @param s Stream on which the notification happened
++ * @param this_gen pulse_driver_t pointer for the PulseAudio output
++ * instance.
++ */
++static void __xine_pa_stream_notify_callback(pa_stream *s, void *this_gen)
++{
++ pulse_driver_t * this = (pulse_driver_t*) this_gen;
++
++ pa_threaded_mainloop_signal(this->mainloop, 0);
++}
++
++/**
++ * @brief Callback function called when PA completed an operation
+ * @param ctx Context which operation has succeeded
+- * @param success The success value for the operation (ignored)
++ * @param nbytes the number of bytes PA requested
+ * @param this_gen pulse_driver_t pointer for the PulseAudio output
+ * instance.
+ */
+-static void __xine_pa_context_success_callback(pa_context *const ctx, const int success,
+- void *const this_gen)
++static void __xine_pa_stream_success_callback(pa_stream *s, int success, void *this_gen)
+ {
+- pulse_driver_t *const this = (pulse_driver_t*)this_gen;
++ pulse_driver_t * this = (pulse_driver_t*) this_gen;
+
+- _x_assert(ctx); _x_assert(this);
+- _x_assert(ctx == this->pa_class->context);
++ if (!success)
++ xprintf (this->xine, XINE_VERBOSITY_DEBUG, "audio_pulse_out: stream operation failed: %s\n", pa_strerror(pa_context_errno(this->context)));
+
+- pa_threaded_mainloop_signal(this->pa_class->mainloop, 0);
++ pa_threaded_mainloop_signal(this->mainloop, 0);
++}
++
++/**
++ * @brief Callback function called when PA completed an operation
++ * @param c Context on which operation has succeeded
++ * @param nbytes the number of bytes PA requested
++ * @param this_gen pulse_driver_t pointer for the PulseAudio output
++ * instance.
++ */
++static void __xine_pa_context_success_callback(pa_context *c, int success, void *this_gen)
++{
++ pulse_driver_t *this = (pulse_driver_t*) this_gen;
++
++ if (!success)
++ xprintf (this->xine, XINE_VERBOSITY_DEBUG, "audio_pulse_out: context operation failed: %s\n", pa_strerror(pa_context_errno(this->context)));
++
++ pa_threaded_mainloop_signal(this->mainloop, 0);
+ }
+
+ /**
+@@ -156,14 +202,14 @@ static void __xine_pa_context_success_ca
+ * This function saves the volume field of the passed structure to the
+ * @c cvolume variable of the output instance.
+ */
+-static void __xine_pa_sink_info_callback(pa_context *const ctx, const pa_sink_input_info *const info,
+- const int is_last, void *const userdata) {
++static void __xine_pa_sink_info_callback(pa_context *c, const pa_sink_input_info *info,
++ int is_last, void *userdata) {
+
+ pulse_driver_t *const this = (pulse_driver_t *) userdata;
+
+ if (is_last < 0) {
+ xprintf (this->xine, XINE_VERBOSITY_DEBUG, "audio_pulse_out: Failed to get sink input info: %s\n",
+- pa_strerror(pa_context_errno(this->pa_class->context)));
++ pa_strerror(pa_context_errno(this->context)));
+ return;
+ }
+
+@@ -171,36 +217,90 @@ static void __xine_pa_sink_info_callback
+ return;
+
+ this->cvolume = info->volume;
++ this->swvolume = pa_sw_volume_to_linear(pa_cvolume_avg(&info->volume));
++ this->muted = info->mute;
++}
++
++static int connect_context(pulse_driver_t *this) {
++
++ if (this->context && (pa_context_get_state(this->context) == PA_CONTEXT_FAILED ||
++ pa_context_get_state(this->context) == PA_CONTEXT_TERMINATED)) {
++ pa_context_unref(this->context);
++ this->context = NULL;
++ }
++
++ if (!this->context) {
++ char fn[PATH_MAX], *p;
++
++ if (pa_get_binary_name(fn, sizeof(fn)))
++ p = pa_path_get_filename(fn);
++ else
++ p = "Xine";
+
+- pthread_mutex_unlock(&this->info_mutex);
++ this->context = pa_context_new(pa_threaded_mainloop_get_api(this->mainloop), p);
++ _x_assert(this->context);
++
++ pa_context_set_state_callback(this->context, __xine_pa_context_state_callback, this);
++ }
++
++ if (pa_context_get_state(this->context) == PA_CONTEXT_UNCONNECTED) {
++
++ if (pa_context_connect(this->context, this->host, 0, NULL) < 0) {
++ xprintf (this->xine, XINE_VERBOSITY_DEBUG, "audio_pulse_out: failed to connect context object %s\n", pa_strerror(pa_context_errno(this->context)));
++ return -1;
++ }
++ }
++
++ for (;;) {
++ pa_context_state_t state = pa_context_get_state(this->context);
++
++ if (state == PA_CONTEXT_FAILED || state == PA_CONTEXT_TERMINATED) {
++ xprintf (this->xine, XINE_VERBOSITY_DEBUG, "audio_pulse_out: failed to connect context object: %s\n", pa_strerror(pa_context_errno(this->context)));
++ return -1;
++ }
++
++ if (state == PA_CONTEXT_READY)
++ break;
++
++ pa_threaded_mainloop_wait(this->mainloop);
++ }
++
++ return 0;
+ }
+
+ /*
+ * open the audio device for writing to
+ */
+ static int ao_pulse_open(ao_driver_t *this_gen,
+- uint32_t bits, uint32_t rate, int mode)
++ uint32_t bits, uint32_t rate, int mode)
+ {
+ pulse_driver_t *this = (pulse_driver_t *) this_gen;
+- struct pa_sample_spec ss;
+- struct pa_buffer_attr a;
+- pa_stream_state_t streamstate;
++ pa_sample_spec ss;
++ pa_channel_map cm;
++ int r;
+
+ xprintf (this->xine, XINE_VERBOSITY_DEBUG,
+- "audio_pulse_out: ao_open bits=%d rate=%d, mode=%d\n", bits, rate, mode);
++ "audio_pulse_out: ao_open bits=%d rate=%d, mode=%d\n", bits, rate, mode);
+
+ if ( (mode & this->capabilities) == 0 ) {
+ xprintf (this->xine, XINE_VERBOSITY_DEBUG, "audio_pulse_out: unsupported mode %08x\n", mode);
+ return 0;
+ }
+
++ pa_threaded_mainloop_lock(this->mainloop);
++
+ if (this->stream) {
+
+- if ( mode == this->mode && rate == this->sample_rate &&
+- bits == this->bits_per_sample )
++ if (mode == this->mode && rate == this->sample_rate &&
++ bits == this->bits_per_sample) {
++
++ pa_threaded_mainloop_unlock(this->mainloop);
+ return this->sample_rate;
++ }
+
+- this_gen->close(this_gen);
++ pa_stream_disconnect(this->stream);
++ pa_stream_unref(this->stream);
++ this->stream = NULL;
+ }
+
+ this->mode = mode;
+@@ -221,6 +321,8 @@ static int ao_pulse_open(ao_driver_t *th
+ case 32:
+ ss.format = PA_SAMPLE_FLOAT32NE;
+ break;
++ default:
++ _x_assert(!"Should not be reached");
+ }
+
+ if (!pa_sample_spec_valid(&ss)) {
+@@ -228,70 +330,86 @@ static int ao_pulse_open(ao_driver_t *th
+ goto fail;
+ }
+
+- if ( this->pa_class->context && pa_context_get_state(this->pa_class->context) > PA_CONTEXT_READY ) {
+- pa_context_unref(this->pa_class->context);
+- this->pa_class->context = NULL;
+- }
+-
+- if ( this->pa_class->context == NULL ) {
+- this->pa_class->context = pa_context_new(pa_threaded_mainloop_get_api(this->pa_class->mainloop),
+- __progname);
+- }
+-
+- pa_context_ref(this->pa_class->context);
++ cm.channels = ss.channels;
+
+- if ( pa_context_get_state(this->pa_class->context) == PA_CONTEXT_UNCONNECTED ) {
+- int ret;
++ switch (mode) {
++ case AO_CAP_MODE_MONO:
++ cm.map[0] = PA_CHANNEL_POSITION_MONO;
++ _x_assert(cm.channels == 1);
++ break;
+
+- pa_threaded_mainloop_lock(this->pa_class->mainloop);
+- ret = pa_context_connect(this->pa_class->context, this->host, 1, NULL);
+- if ( ret < 0 )
+- goto fail_unlock;
++ case AO_CAP_MODE_STEREO:
++ cm.map[0] = PA_CHANNEL_POSITION_FRONT_LEFT;
++ cm.map[1] = PA_CHANNEL_POSITION_FRONT_RIGHT;
++ _x_assert(cm.channels == 2);
++ break;
+
+- pa_context_set_state_callback(this->pa_class->context, __xine_pa_context_status_callback, this);
++ case AO_CAP_MODE_4CHANNEL:
++ cm.map[0] = PA_CHANNEL_POSITION_FRONT_LEFT;
++ cm.map[1] = PA_CHANNEL_POSITION_FRONT_RIGHT;
++ cm.map[2] = PA_CHANNEL_POSITION_REAR_LEFT;
++ cm.map[3] = PA_CHANNEL_POSITION_REAR_RIGHT;
++ _x_assert(cm.channels == 4);
++ break;
+
+- pa_threaded_mainloop_wait(this->pa_class->mainloop);
+- pa_threaded_mainloop_unlock(this->pa_class->mainloop);
++ case AO_CAP_MODE_4_1CHANNEL:
++ case AO_CAP_MODE_5CHANNEL:
++ case AO_CAP_MODE_5_1CHANNEL:
++ cm.map[0] = PA_CHANNEL_POSITION_FRONT_LEFT;
++ cm.map[1] = PA_CHANNEL_POSITION_FRONT_RIGHT;
++ cm.map[2] = PA_CHANNEL_POSITION_REAR_LEFT;
++ cm.map[3] = PA_CHANNEL_POSITION_REAR_RIGHT;
++ cm.map[4] = PA_CHANNEL_POSITION_FRONT_CENTER;
++ cm.map[5] = PA_CHANNEL_POSITION_LFE;
++ cm.channels = 6;
++ break;
++ default:
++ _x_assert(!"Should not be reached");
+ }
+
+- if (pa_context_get_state(this->pa_class->context) != PA_CONTEXT_READY) {
+- xprintf (this->xine, XINE_VERBOSITY_DEBUG, "audio_pulse_out: Failed to connect to server: %s\n",
+- pa_strerror(pa_context_errno(this->pa_class->context)));
++ if (!pa_channel_map_valid(&cm)) {
++ xprintf (this->xine, XINE_VERBOSITY_DEBUG, "audio_pulse_out: Invalid channel map\n");
+ goto fail;
+ }
+
+- this->stream = pa_stream_new(this->pa_class->context, "audio stream", &ss, NULL);
++ if (connect_context(this) < 0)
++ goto fail;
++
++ _x_assert(!this->stream);
++ this->stream = pa_stream_new(this->context, "Audio Stream", &ss, &cm);
+ _x_assert(this->stream);
+
+- a.maxlength = pa_bytes_per_second(&ss)*1;
+- a.tlength = a.maxlength*9/10;
+- a.prebuf = a.tlength/2;
+- a.minreq = a.tlength/10;
++ pa_stream_set_state_callback(this->stream, __xine_pa_stream_state_callback, this);
++ pa_stream_set_write_callback(this->stream, __xine_pa_stream_request_callback, this);
++ pa_stream_set_latency_update_callback(this->stream, __xine_pa_stream_notify_callback, this);
+
+- pa_stream_connect_playback(this->stream, this->sink, &a,
+- PA_STREAM_INTERPOLATE_TIMING|PA_STREAM_AUTO_TIMING_UPDATE,
++ r = pa_stream_connect_playback(this->stream, this->sink, NULL,
++ PA_STREAM_INTERPOLATE_TIMING|PA_STREAM_AUTO_TIMING_UPDATE,
+ NULL, NULL);
+
+- do {
+- xine_usec_sleep (100);
++ for (;;) {
++ pa_context_state_t cstate = pa_context_get_state(this->context);
++ pa_stream_state_t sstate = pa_stream_get_state(this->stream);
++
++ if (cstate == PA_CONTEXT_FAILED || cstate == PA_CONTEXT_TERMINATED ||
++ sstate == PA_STREAM_FAILED || sstate == PA_STREAM_TERMINATED) {
++ xprintf (this->xine, XINE_VERBOSITY_DEBUG, "audio_pulse_out: failed to connect context object: %s\n", pa_strerror(pa_context_errno(this->context)));
++ goto fail;
++ }
+
+- streamstate = pa_stream_get_state(this->stream);
+- } while (streamstate < PA_STREAM_READY);
+-
+- if (streamstate != PA_STREAM_READY) {
+- xprintf (this->xine, XINE_VERBOSITY_LOG, "audio_pulse_out: Failed to connect to server: %s\n",
+- pa_strerror(pa_context_errno(this->pa_class->context)));
+- goto fail;
++ if (sstate == PA_STREAM_READY)
++ break;
++
++ pa_threaded_mainloop_wait(this->mainloop);
+ }
+- this->frames_written = 0;
+
+- this->ao_driver.set_property(this, AO_PROP_PCM_VOL, 100);
++ pa_threaded_mainloop_unlock(this->mainloop);
+
+ return this->sample_rate;
+
+- fail_unlock:
+- pa_threaded_mainloop_unlock(this->pa_class->mainloop);
+ fail:
++
++ pa_threaded_mainloop_unlock(this->mainloop);
+ this_gen->close(this_gen);
+ return 0;
+ }
+@@ -319,217 +437,348 @@ static int ao_pulse_write(ao_driver_t *t
+ {
+ pulse_driver_t *this = (pulse_driver_t *) this_gen;
+ size_t size = num_frames * this->bytes_per_frame;
+- int ret = 0;
+-
+- if ( !this->stream || !this->pa_class->context)
+- return -1;
+-
+- switch( pa_stream_get_state(this->stream) ) {
+- case PA_STREAM_READY:
+- while (size > 0) {
+- size_t l;
++ int ret = -1;
++ size_t done = 0;
+
+- while (!(l = pa_stream_writable_size(this->stream))) {
+- xine_usec_sleep (10000);
+- }
++ pa_threaded_mainloop_lock(this->mainloop);
+
+- if (l > size)
+- l = size;
+-
+- pa_stream_write(this->stream, data, l, NULL, 0, PA_SEEK_RELATIVE);
+- data = (int16_t *) ((uint8_t*) data + l);
+- size -= l;
+- }
++ while (size > 0) {
++ size_t l;
+
+- this->frames_written += num_frames;
++ for (;;) {
+
+- if (pa_stream_get_state(this->stream) == PA_STREAM_READY)
+- ret = 1;
++ if (!this->stream ||
++ !this->context ||
++ pa_context_get_state(this->context) != PA_CONTEXT_READY ||
++ pa_stream_get_state(this->stream) != PA_STREAM_READY)
++ goto finish;
+
+- break;
++ if ((l = pa_stream_writable_size(this->stream)) == (size_t) -1)
++ goto finish;
++
++ if (l > 0)
++ break;
++
++ pa_threaded_mainloop_wait(this->mainloop);
++ }
++
++ if (l > size)
++ l = size;
++
++ pa_stream_write(this->stream, data, l, NULL, 0, PA_SEEK_RELATIVE);
++ data = (int16_t *) ((uint8_t*) data + l);
++ size -= l;
++ done += l;
+ }
+
++ ret = done;
++
++finish:
++
++ pa_threaded_mainloop_unlock(this->mainloop);
++
++/* fprintf(stderr, "write-out\n"); */
++
+ return ret;
+-}
+
++}
+
+ static int ao_pulse_delay (ao_driver_t *this_gen)
+ {
+ pulse_driver_t *this = (pulse_driver_t *) this_gen;
+- pa_usec_t latency = 0;
+- unsigned int delay_frames;
++ int ret = 0;
+
+- if ( ! this->stream ) return this->frames_written;
++/* fprintf(stderr, "delay-in\n"); */
+
+- if (pa_stream_get_latency(this->stream, &latency, NULL) < 0) {
+- pa_context_unref(this->pa_class->context);
+- this->pa_class->context = NULL;
++ pa_threaded_mainloop_lock(this->mainloop);
+
+- pa_stream_disconnect(this->stream);
+- pa_stream_unref(this->stream);
+- this->stream = NULL;
++ for (;;) {
++ pa_usec_t latency = 0;
+
+- return 0;
++ if (!this->stream ||
++ !this->context ||
++ pa_context_get_state(this->context) != PA_CONTEXT_READY ||
++ pa_stream_get_state(this->stream) != PA_STREAM_READY)
++ goto finish;
++
++ if (pa_stream_get_latency(this->stream, &latency, NULL) >= 0) {
++ ret = (int) ((latency * this->sample_rate) / 1000000);
++ goto finish;
++ }
++
++ if (pa_context_errno(this->context) != PA_ERR_NODATA) {
++ xprintf (this->xine, XINE_VERBOSITY_DEBUG, "audio_pulse_out: failed to query latency: %s\n", pa_strerror(pa_context_errno(this->context)));
++ goto finish;
++ }
++
++ pa_threaded_mainloop_wait(this->mainloop);
+ }
+
+- /* convert latency (us) to frame units. */
+- delay_frames = (int)(latency * this->sample_rate / 1000000);
++finish:
+
+- if( delay_frames > this->frames_written )
+- return this->frames_written;
+- else
+- return delay_frames;
++ pa_threaded_mainloop_unlock(this->mainloop);
++
++ return ret;
+ }
+
+ static void ao_pulse_close(ao_driver_t *this_gen)
+ {
+ pulse_driver_t *this = (pulse_driver_t *) this_gen;
+-
+- if (this->stream) {
+- if (pa_stream_get_state(this->stream) == PA_STREAM_READY) {
+- pthread_mutex_t completion_callback = PTHREAD_MUTEX_INITIALIZER; pthread_mutex_lock(&completion_callback);
+- pa_stream_drain(this->stream, __xine_pa_stream_success_callback, &completion_callback);
+
+- pthread_mutex_lock(&completion_callback);
+- pthread_mutex_destroy(&completion_callback);
+- }
++ pa_threaded_mainloop_lock(this->mainloop);
+
++ if (this->stream) {
+ pa_stream_disconnect(this->stream);
+ pa_stream_unref(this->stream);
+ this->stream = NULL;
+-
+- pa_context_unref(this->pa_class->context);
+ }
++
++ pa_threaded_mainloop_unlock(this->mainloop);
+ }
+
+ static uint32_t ao_pulse_get_capabilities (ao_driver_t *this_gen) {
+ pulse_driver_t *this = (pulse_driver_t *) this_gen;
++
+ return this->capabilities;
+ }
+
+-static void ao_pulse_exit(ao_driver_t *this_gen)
+-{
++static void ao_pulse_exit(ao_driver_t *this_gen) {
+ pulse_driver_t *this = (pulse_driver_t *) this_gen;
+
+- free (this);
++ ao_pulse_close(this_gen);
++
++ pa_threaded_mainloop_lock(this->mainloop);
++
++ if (this->context) {
++ pa_context_disconnect(this->context);
++ pa_context_unref(this->context);
++ }
++
++ pa_threaded_mainloop_unlock(this->mainloop);
++
++ pa_threaded_mainloop_free(this->mainloop);
++
++ free(this->host);
++ free(this->sink);
++ free(this);
++}
++
++static int wait_for_operation(pulse_driver_t *this, pa_operation *o) {
++
++ for (;;) {
++
++ if (!this->stream ||
++ !this->context ||
++ pa_context_get_state(this->context) != PA_CONTEXT_READY ||
++ pa_stream_get_state(this->stream) != PA_STREAM_READY)
++ return -1;
++
++ if (pa_operation_get_state(o) != PA_OPERATION_RUNNING)
++ return 0;
++
++ pa_threaded_mainloop_wait(this->mainloop);
++ }
+ }
+
+ static int ao_pulse_get_property (ao_driver_t *this_gen, int property) {
+ pulse_driver_t *this = (pulse_driver_t *) this_gen;
+ int result = 0;
++ pa_operation *o = NULL;
+
+- if ( ! this->stream || ! this->pa_class->context )
++ pa_threaded_mainloop_lock(this->mainloop);
++
++ if (!this->stream ||
++ !this->context ||
++ pa_context_get_state(this->context) != PA_CONTEXT_READY ||
++ pa_stream_get_state(this->stream) != PA_STREAM_READY) {
++ pa_threaded_mainloop_unlock(this->mainloop);
+ return 0;
++ }
+
+ switch(property) {
+- case AO_PROP_PCM_VOL:
+- case AO_PROP_MIXER_VOL:
+- {
+- pthread_mutex_lock(&this->info_mutex);
+- pa_operation *o = pa_context_get_sink_input_info(this->pa_class->context,
+- pa_stream_get_index(this->stream),
+- __xine_pa_sink_info_callback, this);
+- if ( ! o ) return 0;
+- pthread_mutex_lock(&this->info_mutex); pthread_mutex_unlock(&this->info_mutex);
+-
+- result = (pa_sw_volume_to_linear(this->swvolume)*100);
+- }
+- break;
+
+- case AO_PROP_MUTE_VOL:
+- result = pa_cvolume_is_muted(&this->cvolume);
+- break;
++ case AO_PROP_MUTE_VOL:
++ case AO_PROP_PCM_VOL:
++ case AO_PROP_MIXER_VOL:
++
++ o = pa_context_get_sink_input_info(this->context, pa_stream_get_index(this->stream),
++ __xine_pa_sink_info_callback, this);
++
++ break;
++ }
++
++ if (o) {
++ wait_for_operation(this, o);
++ pa_operation_unref(o);
+ }
+-
++
++ switch(property) {
++
++ case AO_PROP_MUTE_VOL:
++ result = this->muted;
++ break;
++
++ case AO_PROP_PCM_VOL:
++ case AO_PROP_MIXER_VOL:
++ result = (int) (pa_sw_volume_to_linear(this->swvolume)*100);
++ break;
++ }
++
++ pa_threaded_mainloop_unlock(this->mainloop);
++
+ return result;
+ }
+
+ static int ao_pulse_set_property (ao_driver_t *this_gen, int property, int value) {
+ pulse_driver_t *this = (pulse_driver_t *) this_gen;
+ int result = ~value;
++ pa_operation *o = NULL;
+
+- if ( ! this->stream || ! this->pa_class->context )
+- return result;
++ pa_threaded_mainloop_lock(this->mainloop);
++
++ if (!this->stream ||
++ !this->context ||
++ pa_context_get_state(this->context) != PA_CONTEXT_READY ||
++ pa_stream_get_state(this->stream) != PA_STREAM_READY) {
++ pa_threaded_mainloop_unlock(this->mainloop);
++ return 0;
++ }
+
+ switch(property) {
+- case AO_PROP_PCM_VOL:
+- case AO_PROP_MIXER_VOL:
+- this->swvolume = pa_sw_volume_from_linear((double)value/100.0);
+- pa_cvolume_set(&this->cvolume, pa_stream_get_sample_spec(this->stream)->channels, this->swvolume);
+-
+- pa_context_set_sink_input_volume(this->pa_class->context, pa_stream_get_index(this->stream),
+- &this->cvolume, __xine_pa_context_success_callback, this);
+-
+- result = value;
+- break;
+-
+- case AO_PROP_MUTE_VOL:
+- if ( value )
+- pa_cvolume_mute(&this->cvolume, pa_stream_get_sample_spec(this->stream)->channels);
+- else
++ case AO_PROP_PCM_VOL:
++ case AO_PROP_MIXER_VOL:
++
++ this->swvolume = pa_sw_volume_from_linear((double)value/100.0);
+ pa_cvolume_set(&this->cvolume, pa_stream_get_sample_spec(this->stream)->channels, this->swvolume);
+
+- pa_context_set_sink_input_volume(this->pa_class->context, pa_stream_get_index(this->stream),
+- &this->cvolume, __xine_pa_context_success_callback, this);
+-
+- result = value;
+- break;
++ o = pa_context_set_sink_input_volume(this->context, pa_stream_get_index(this->stream),
++ &this->cvolume, __xine_pa_context_success_callback, this);
++
++ result = value;
++ break;
++
++ case AO_PROP_MUTE_VOL:
++
++ this->muted = value;
++
++ o = pa_context_set_sink_input_mute(this->context, pa_stream_get_index(this->stream),
++ value, __xine_pa_context_success_callback, this);
++
++ result = value;
++ }
++
++ if (o) {
++ wait_for_operation(this, o);
++ pa_operation_unref(o);
+ }
+-
++
++ pa_threaded_mainloop_unlock(this->mainloop);
++
+ return result;
+ }
+
+ static int ao_pulse_ctrl(ao_driver_t *this_gen, int cmd, ...) {
+ pulse_driver_t *this = (pulse_driver_t *) this_gen;
++ pa_operation *o = NULL;
++
++ pa_threaded_mainloop_lock(this->mainloop);
+
+- if ( ! this->stream ) return 0;
++ if (!this->stream ||
++ !this->context ||
++ pa_context_get_state(this->context) != PA_CONTEXT_READY ||
++ pa_stream_get_state(this->stream) != PA_STREAM_READY) {
++ pa_threaded_mainloop_unlock(this->mainloop);
++ return 0;
++ }
+
+ switch (cmd) {
+
+- case AO_CTRL_FLUSH_BUFFERS:
+- _x_assert(this->stream && this->pa_class->context);
++ case AO_CTRL_FLUSH_BUFFERS:
+
+- if(pa_stream_get_state(this->stream) == PA_STREAM_READY) {
+- pthread_mutex_t completion_callback = PTHREAD_MUTEX_INITIALIZER; pthread_mutex_lock(&completion_callback);
+- pa_stream_flush(this->stream, __xine_pa_stream_success_callback, &completion_callback);
++ o = pa_stream_flush(this->stream, __xine_pa_stream_success_callback, this);
++ break;
+
+- pthread_mutex_lock(&completion_callback);
+- pthread_mutex_destroy(&completion_callback);
+- }
++ case AO_CTRL_PLAY_RESUME:
++ case AO_CTRL_PLAY_PAUSE:
+
+- this->frames_written = 0;
++ o = pa_stream_cork(this->stream, cmd == AO_CTRL_PLAY_PAUSE, __xine_pa_stream_success_callback, this);
++ break;
++ }
+
+- break;
++ if (o) {
++ wait_for_operation(this, o);
++ pa_operation_unref(o);
+ }
+
++ pa_threaded_mainloop_unlock(this->mainloop);
++
+ return 0;
+ }
+
+ static ao_driver_t *open_plugin (audio_driver_class_t *class_gen, const void *data) {
+ pulse_class_t *class = (pulse_class_t *) class_gen;
+ pulse_driver_t *this;
+- char *device;
++ const char* device;
++ int r;
+
+ lprintf ("audio_pulse_out: open_plugin called\n");
+
+ this = (pulse_driver_t *) xine_xmalloc (sizeof (pulse_driver_t));
+ if (!this)
+ return NULL;
++
+ this->xine = class->xine;
++ this->host = NULL;
++ this->sink = NULL;
++ this->context = NULL;
++ this->mainloop = NULL;
++
++ device = class->xine->config->register_string(class->xine->config,
++ "audio.pulseaudio_device",
++ "",
++ _("device used for pulseaudio"),
++ _("use 'server[:sink]' for setting the "
++ "pulseaudio sink device."),
++ 10, NULL,
++ NULL);
++
++ if (device && *device) {
++ char *sep = strrchr(device, ':');
++ if ( sep ) {
++ if (!(this->host = strndup(device, sep-device))) {
++ free(this);
++ return NULL;
++ }
++
++ if (!(this->sink = strdup(sep+1))) {
++ free(this->host);
++ free(this);
++ return NULL;
++ }
++ } else {
++
++ if (!(this->host = strdup(device))) {
++ free(this);
++ return NULL;
++ }
++ }
++ }
++
++ this->mainloop = pa_threaded_mainloop_new();
++ _x_assert(this->mainloop);
++ pa_threaded_mainloop_start(this->mainloop);
+
+ /*
+ * set capabilities
+ */
+- this->capabilities = AO_CAP_MODE_MONO | AO_CAP_MODE_STEREO | AO_CAP_MODE_4CHANNEL |
+- AO_CAP_MODE_4_1CHANNEL | AO_CAP_MODE_5CHANNEL |
+- AO_CAP_MODE_5_1CHANNEL | AO_CAP_MIXER_VOL |
+- AO_CAP_PCM_VOL | AO_CAP_MUTE_VOL | AO_CAP_8BITS |
+- AO_CAP_16BITS | AO_CAP_FLOAT32;
++ this->capabilities =
++ AO_CAP_MODE_MONO | AO_CAP_MODE_STEREO | AO_CAP_MODE_4CHANNEL |
++ AO_CAP_MODE_4_1CHANNEL | AO_CAP_MODE_5CHANNEL | AO_CAP_MODE_5_1CHANNEL |
++ AO_CAP_MIXER_VOL | AO_CAP_PCM_VOL | AO_CAP_MUTE_VOL |
++ AO_CAP_8BITS | AO_CAP_16BITS | AO_CAP_FLOAT32;
+
+ this->sample_rate = 0;
+- this->host = NULL;
+- this->sink = NULL;
+-
++
+ this->ao_driver.get_capabilities = ao_pulse_get_capabilities;
+ this->ao_driver.get_property = ao_pulse_get_property;
+ this->ao_driver.set_property = ao_pulse_set_property;
+@@ -541,33 +790,22 @@ static ao_driver_t *open_plugin (audio_d
+ this->ao_driver.close = ao_pulse_close;
+ this->ao_driver.exit = ao_pulse_exit;
+ this->ao_driver.get_gap_tolerance = ao_pulse_get_gap_tolerance;
+- this->ao_driver.control = ao_pulse_ctrl;
+-
+- device = this->xine->config->register_string(this->xine->config,
+- "audio.pulseaudio_device",
+- "",
+- _("device used for pulseaudio"),
+- _("use 'server[:sink]' for setting the "
+- "pulseaudio sink device."),
+- 10, NULL,
+- NULL);
+-
+- if (device && *device) {
+- char *sep = strchr(device, ':');
+- if ( sep ) {
+- this->host = strndup(device, sep-device);
+- this->sink = strdup(&sep[1]);
+- } else
+- this->host = strdup(device);
+- }
+-
+- pthread_mutex_init(&this->info_mutex, NULL);
++ this->ao_driver.control = ao_pulse_ctrl;
+
+ xprintf (class->xine, XINE_VERBOSITY_DEBUG, "audio_pulse_out: host %s sink %s\n",
+ this->host ? this->host : "(null)", this->sink ? this->sink : "(null)");
+
+ this->pa_class = class;
+
++ pa_threaded_mainloop_lock(this->mainloop);
++ r = connect_context(this);
++ pa_threaded_mainloop_unlock(this->mainloop);
++
++ if (r < 0) {
++ ao_pulse_exit((ao_driver_t *) this);
++ return NULL;
++ }
++
+ return &this->ao_driver;
+ }
+
+@@ -587,13 +825,7 @@ static void dispose_class (audio_driver_
+
+ pulse_class_t *this = (pulse_class_t *) this_gen;
+
+- if ( this->context )
+- pa_context_unref(this->context);
+-
+- pa_threaded_mainloop_stop(this->mainloop);
+- pa_threaded_mainloop_free(this->mainloop);
+-
+- free (this);
++ free(this);
+ }
+
+ static void *init_class (xine_t *xine, void *data) {
+@@ -606,25 +838,17 @@ static void *init_class (xine_t *xine, v
+ if (!this)
+ return NULL;
+
++ this->xine = xine;
+ this->driver_class.open_plugin = open_plugin;
+ this->driver_class.get_identifier = get_identifier;
+ this->driver_class.get_description = get_description;
+ this->driver_class.dispose = dispose_class;
+
+- this->xine = xine;
+-
+- this->mainloop = pa_threaded_mainloop_new();
+- _x_assert(this->mainloop);
+-
+- pa_threaded_mainloop_start(this->mainloop);
+-
+- this->context = NULL;
+-
+ return this;
+ }
+
+ static const ao_info_t ao_info_pulse = {
+- 6
++ 12
+ };
+
+ /*
+@@ -636,5 +860,3 @@ const plugin_info_t xine_plugin_info[] E
+ { PLUGIN_AUDIO_OUT, 8, "pulseaudio", XINE_VERSION_CODE, &ao_info_pulse, init_class },
+ { PLUGIN_NONE, 0, "", 0, NULL, NULL }
+ };
+-
+-
commit bd1cc3b82943cbd42ec5fcc61af83077db98b518
Author: Ville Skyttä <scop(a)fedoraproject.org>
Date: Sun Mar 30 18:50:26 2008 +0000
* Sun Mar 30 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.11.1-1
- 1.1.11.1 (security update, #438663, CVE-2008-1482).
- Provide versioned xine-lib(plugin-abi) so 3rd party packages installing
plugins can use it instead of requiring a version of xine-lib.
diff --git a/.cvsignore b/.cvsignore
index b01f673..907cc99 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -1,2 +1,2 @@
-xine-lib-1.1.11-pruned.tar.bz2
-xine-lib-1.1.11-autotools.patch.bz2
+xine-lib-1.1.11.1-pruned.tar.bz2
+xine-lib-1.1.11.1-autotools.patch.bz2
diff --git a/sources b/sources
index 9f141e7..7c8f9d9 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-40d8c51a914ed20b8499c5da9cf57bc0 xine-lib-1.1.11-pruned.tar.bz2
-bb30e6af99e5abfcb6133fbe347be7eb xine-lib-1.1.11-autotools.patch.bz2
+b6a4fe9dd2ec80452870a8bfbb3974f0 xine-lib-1.1.11.1-pruned.tar.bz2
+c257bf0b964d25592f1c612149ae2c7a xine-lib-1.1.11.1-autotools.patch.bz2
diff --git a/xine-lib.spec b/xine-lib.spec
index e65a622..383882d 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -8,7 +8,8 @@
# http://www.redhat.com/archives/fedora-devel-list/2007-August/msg01411.html
# - external dvdnav - not compatible as of 1.1.11 and 4.1.1
-%define codecdir %{_libdir}/codecs
+%define abiver 1.20
+%define codecdir %{_libdir}/codecs
%ifarch %{ix86}
%define have_vidix 1
@@ -30,7 +31,7 @@
Summary: Xine library
Name: xine-lib
-Version: 1.1.11
+Version: 1.1.11.1
Release: 1%{?dist}
License: GPLv2+
Group: System Environment/Libraries
@@ -46,6 +47,8 @@ Patch0: %{name}-%{version}-autotools.patch.bz2
Patch1: %{name}-1.1.4-optflags.patch
Patch6: %{name}-1.1.1-deepbind-939.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+
+Provides: xine-lib(plugin-abi) = %{abiver}
# X11
BuildRequires: libX11-devel
BuildRequires: libXv-devel
@@ -243,132 +246,132 @@ rm -rf $RPM_BUILD_ROOT
%{_mandir}/man5/xine.5*
%dir %{_libdir}/xine/
%dir %{_libdir}/xine/plugins/
-%dir %{_libdir}/xine/plugins/*/
-%{_libdir}/xine/plugins/*/mime.types
+%dir %{_libdir}/xine/plugins/%{abiver}/
+%{_libdir}/xine/plugins/%{abiver}/mime.types
# Listing every plugin separately for better control over binary packages
# containing exactly the plugins we want, nothing accidentally snuck in
# nor dropped.
-%dir %{_libdir}/xine/plugins/*/post/
-%{_libdir}/xine/plugins/*/post/xineplug_post_audio_filters.so
-%{_libdir}/xine/plugins/*/post/xineplug_post_goom.so
-%{_libdir}/xine/plugins/*/post/xineplug_post_mosaico.so
-%{_libdir}/xine/plugins/*/post/xineplug_post_switch.so
-%{_libdir}/xine/plugins/*/post/xineplug_post_visualizations.so
+%dir %{_libdir}/xine/plugins/%{abiver}/post/
+%{_libdir}/xine/plugins/%{abiver}/post/xineplug_post_audio_filters.so
+%{_libdir}/xine/plugins/%{abiver}/post/xineplug_post_goom.so
+%{_libdir}/xine/plugins/%{abiver}/post/xineplug_post_mosaico.so
+%{_libdir}/xine/plugins/%{abiver}/post/xineplug_post_switch.so
+%{_libdir}/xine/plugins/%{abiver}/post/xineplug_post_visualizations.so
%if %{have_vidix}
-%dir %{_libdir}/xine/plugins/*/vidix/
-%{_libdir}/xine/plugins/*/vidix/cyberblade_vid.so
-%{_libdir}/xine/plugins/*/vidix/mach64_vid.so
-%{_libdir}/xine/plugins/*/vidix/mga_crtc2_vid.so
-%{_libdir}/xine/plugins/*/vidix/mga_vid.so
-%{_libdir}/xine/plugins/*/vidix/nvidia_vid.so
-%{_libdir}/xine/plugins/*/vidix/pm2_vid.so
-%{_libdir}/xine/plugins/*/vidix/pm3_vid.so
-%{_libdir}/xine/plugins/*/vidix/radeon_vid.so
-%{_libdir}/xine/plugins/*/vidix/rage128_vid.so
-%{_libdir}/xine/plugins/*/vidix/savage_vid.so
-%{_libdir}/xine/plugins/*/vidix/sis_vid.so
-%{_libdir}/xine/plugins/*/vidix/unichrome_vid.so
+%dir %{_libdir}/xine/plugins/%{abiver}/vidix/
+%{_libdir}/xine/plugins/%{abiver}/vidix/cyberblade_vid.so
+%{_libdir}/xine/plugins/%{abiver}/vidix/mach64_vid.so
+%{_libdir}/xine/plugins/%{abiver}/vidix/mga_crtc2_vid.so
+%{_libdir}/xine/plugins/%{abiver}/vidix/mga_vid.so
+%{_libdir}/xine/plugins/%{abiver}/vidix/nvidia_vid.so
+%{_libdir}/xine/plugins/%{abiver}/vidix/pm2_vid.so
+%{_libdir}/xine/plugins/%{abiver}/vidix/pm3_vid.so
+%{_libdir}/xine/plugins/%{abiver}/vidix/radeon_vid.so
+%{_libdir}/xine/plugins/%{abiver}/vidix/rage128_vid.so
+%{_libdir}/xine/plugins/%{abiver}/vidix/savage_vid.so
+%{_libdir}/xine/plugins/%{abiver}/vidix/sis_vid.so
+%{_libdir}/xine/plugins/%{abiver}/vidix/unichrome_vid.so
%endif # vidix
-%{_libdir}/xine/plugins/*/xineplug_ao_out_alsa.so
-%{_libdir}/xine/plugins/*/xineplug_ao_out_file.so
-%{_libdir}/xine/plugins/*/xineplug_ao_out_none.so
-%{_libdir}/xine/plugins/*/xineplug_ao_out_oss.so
-%{_libdir}/xine/plugins/*/xineplug_decode_bitplane.so
-%{_libdir}/xine/plugins/*/xineplug_decode_gsm610.so
-%{_libdir}/xine/plugins/*/xineplug_decode_lpcm.so
-%{_libdir}/xine/plugins/*/xineplug_decode_mpc.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_alsa.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_file.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_none.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_oss.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_bitplane.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_gsm610.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_lpcm.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_mpc.so
%ifarch %ix86
-%{_libdir}/xine/plugins/*/xineplug_decode_qt.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_qt.so
%endif # ix86
-%{_libdir}/xine/plugins/*/xineplug_decode_real.so
-%{_libdir}/xine/plugins/*/xineplug_decode_rgb.so
-%{_libdir}/xine/plugins/*/xineplug_decode_speex.so
-%{_libdir}/xine/plugins/*/xineplug_decode_spu.so
-%{_libdir}/xine/plugins/*/xineplug_decode_spucc.so
-%{_libdir}/xine/plugins/*/xineplug_decode_spucmml.so
-%{_libdir}/xine/plugins/*/xineplug_decode_spudvb.so
-%{_libdir}/xine/plugins/*/xineplug_decode_sputext.so
-%{_libdir}/xine/plugins/*/xineplug_decode_theora.so
-%{_libdir}/xine/plugins/*/xineplug_decode_vorbis.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_real.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_rgb.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_speex.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_spu.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_spucc.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_spucmml.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_spudvb.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_sputext.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_theora.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_vorbis.so
%ifarch %ix86
-%{_libdir}/xine/plugins/*/xineplug_decode_w32dll.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_w32dll.so
%endif # ix86
-%{_libdir}/xine/plugins/*/xineplug_decode_yuv.so
-%{_libdir}/xine/plugins/*/xineplug_dmx_audio.so
-%{_libdir}/xine/plugins/*/xineplug_dmx_avi.so
-%{_libdir}/xine/plugins/*/xineplug_dmx_fli.so
-%{_libdir}/xine/plugins/*/xineplug_dmx_flv.so
-%{_libdir}/xine/plugins/*/xineplug_dmx_games.so
-%{_libdir}/xine/plugins/*/xineplug_dmx_iff.so
-%{_libdir}/xine/plugins/*/xineplug_dmx_image.so
-%{_libdir}/xine/plugins/*/xineplug_dmx_matroska.so
-%{_libdir}/xine/plugins/*/xineplug_dmx_mng.so
-%{_libdir}/xine/plugins/*/xineplug_dmx_nsv.so
-%{_libdir}/xine/plugins/*/xineplug_dmx_ogg.so
-%{_libdir}/xine/plugins/*/xineplug_dmx_pva.so
-%{_libdir}/xine/plugins/*/xineplug_dmx_qt.so
-%{_libdir}/xine/plugins/*/xineplug_dmx_rawdv.so
-%{_libdir}/xine/plugins/*/xineplug_dmx_real.so
-%{_libdir}/xine/plugins/*/xineplug_dmx_slave.so
-%{_libdir}/xine/plugins/*/xineplug_dmx_sputext.so
-%{_libdir}/xine/plugins/*/xineplug_dmx_yuv_frames.so
-%{_libdir}/xine/plugins/*/xineplug_flac.so
-%{_libdir}/xine/plugins/*/xineplug_inp_cdda.so
-%{_libdir}/xine/plugins/*/xineplug_inp_dvb.so
-%{_libdir}/xine/plugins/*/xineplug_inp_file.so
-%{_libdir}/xine/plugins/*/xineplug_inp_http.so
-%{_libdir}/xine/plugins/*/xineplug_inp_net.so
-%{_libdir}/xine/plugins/*/xineplug_inp_pnm.so
-%{_libdir}/xine/plugins/*/xineplug_inp_pvr.so
-%{_libdir}/xine/plugins/*/xineplug_inp_rtp.so
-%{_libdir}/xine/plugins/*/xineplug_inp_rtsp.so
-%{_libdir}/xine/plugins/*/xineplug_inp_stdin_fifo.so
-%{_libdir}/xine/plugins/*/xineplug_inp_v4l.so
-%{_libdir}/xine/plugins/*/xineplug_vo_out_fb.so
-%{_libdir}/xine/plugins/*/xineplug_vo_out_none.so
-%{_libdir}/xine/plugins/*/xineplug_vo_out_opengl.so
-%{_libdir}/xine/plugins/*/xineplug_vo_out_syncfb.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_yuv.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_audio.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_avi.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_fli.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_flv.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_games.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_iff.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_image.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_matroska.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_mng.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_nsv.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_ogg.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_pva.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_qt.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_rawdv.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_real.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_slave.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_sputext.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_yuv_frames.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_flac.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_cdda.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_dvb.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_file.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_http.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_net.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_pnm.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_pvr.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_rtp.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_rtsp.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_stdin_fifo.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_v4l.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_fb.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_none.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_opengl.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_syncfb.so
%if %{have_vidix}
-%{_libdir}/xine/plugins/*/xineplug_vo_out_vidix.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_vidix.so
%endif # vidix
%if %{with_xcb}
-%{_libdir}/xine/plugins/*/xineplug_vo_out_xcbshm.so
-%{_libdir}/xine/plugins/*/xineplug_vo_out_xcbxv.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_xcbshm.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_xcbxv.so
%endif # xcb
-%{_libdir}/xine/plugins/*/xineplug_vo_out_xshm.so
-%{_libdir}/xine/plugins/*/xineplug_vo_out_xv.so
-%{_libdir}/xine/plugins/*/xineplug_vo_out_xvmc.so
-%{_libdir}/xine/plugins/*/xineplug_vo_out_xxmc.so
-%{_libdir}/xine/plugins/*/xineplug_wavpack.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_xshm.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_xv.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_xvmc.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_xxmc.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_wavpack.so
%files arts
%defattr(-,root,root,-)
-%{_libdir}/xine/plugins/*/xineplug_ao_out_arts.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_arts.so
%files extras
%defattr(-,root,root,-)
-%{_libdir}/xine/plugins/*/xineplug_ao_out_esd.so
-%{_libdir}/xine/plugins/*/xineplug_ao_out_jack.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_esd.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_jack.so
%if %{with_pa}
-%{_libdir}/xine/plugins/*/xineplug_ao_out_pulseaudio.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_pulseaudio.so
%endif # pa
-%{_libdir}/xine/plugins/*/xineplug_decode_gdk_pixbuf.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_gdk_pixbuf.so
%if 0%{!?_without_imagemagick:1}
-%{_libdir}/xine/plugins/*/xineplug_decode_image.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_image.so
%endif # imagemagick
-%{_libdir}/xine/plugins/*/xineplug_inp_gnome_vfs.so
-%{_libdir}/xine/plugins/*/xineplug_inp_smb.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_gnome_vfs.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_smb.so
%if %{with_aalib}
-%{_libdir}/xine/plugins/*/xineplug_vo_out_aa.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_aa.so
%endif # aalib
%if %{with_caca}
-%{_libdir}/xine/plugins/*/xineplug_vo_out_caca.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_caca.so
%endif # caca
%if 0%{!?_without_directfb:1}
-%{_libdir}/xine/plugins/*/xineplug_vo_out_directfb.so
-%{_libdir}/xine/plugins/*/xineplug_vo_out_xdirectfb.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_directfb.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_xdirectfb.so
%endif # directfb
-%{_libdir}/xine/plugins/*/xineplug_vo_out_sdl.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_sdl.so
%files devel
%defattr(-,root,root,-)
@@ -383,6 +386,11 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Sun Mar 30 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.11.1-1
+- 1.1.11.1 (security update, #438663, CVE-2008-1482).
+- Provide versioned xine-lib(plugin-abi) so 3rd party packages installing
+ plugins can use it instead of requiring a version of xine-lib.
+
* Wed Mar 19 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.11-1
- 1.1.11 (security update, #438182, CVE-2008-0073).
- Drop jack and wavpack build conditionals.
commit 298d6d095f7e40cba839918c9b4ef56a4b54be2f
Author: Ville Skyttä <scop(a)fedoraproject.org>
Date: Wed Mar 19 19:51:59 2008 +0000
* Wed Mar 19 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.11-1
- 1.1.11 (security update, #438182, CVE-2008-0073).
- Drop jack and wavpack build conditionals.
- Specfile cleanups.
diff --git a/.cvsignore b/.cvsignore
index bb4470f..b01f673 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -1,2 +1,2 @@
-xine-lib-1.1.10.1-pruned.tar.bz2
-xine-lib-1.1.10.1-autotools.patch.bz2
+xine-lib-1.1.11-pruned.tar.bz2
+xine-lib-1.1.11-autotools.patch.bz2
diff --git a/sources b/sources
index 028f7ca..9f141e7 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-3e78ed0690314436b0a74d1d11535fea xine-lib-1.1.10.1-pruned.tar.bz2
-b7e702d0bd235e7102efaa11caea2895 xine-lib-1.1.10.1-autotools.patch.bz2
+40d8c51a914ed20b8499c5da9cf57bc0 xine-lib-1.1.11-pruned.tar.bz2
+bb30e6af99e5abfcb6133fbe347be7eb xine-lib-1.1.11-autotools.patch.bz2
diff --git a/xine-lib-cleanup-sources.sh b/xine-lib-cleanup-sources.sh
index 5710edf..a905a3f 100755
--- a/xine-lib-cleanup-sources.sh
+++ b/xine-lib-cleanup-sources.sh
@@ -21,6 +21,14 @@ rm -rf $dir
tar -xjf $tarball
cd $dir
+rmpluglib()
+{
+ echo "removing src/$1/$2..."
+ rm -rf src/$1/$2
+ sed -i -e "s/SUBDIRS = \(.*\)$2\(.*\)/SUBDIRS = \1\2/g" src/$1/Makefile.am
+ sed -i -e "/^src\/$1\/$2/d" configure.ac
+}
+
# Main libraries
for remove in libfaad libffmpeg libmad libmpeg2 dxr3 liba52 libdts; do
echo "removing src/$remove..."
@@ -30,10 +38,10 @@ for remove in libfaad libffmpeg libmad libmpeg2 dxr3 liba52 libdts; do
done
# Input plugin libraries
for remove in vcd; do
- echo "removing src/input/$remove..."
- rm -rf src/input/$remove
- sed -i -e "s/SUBDIRS = \(.*\)${remove}\(.*\)/SUBDIRS = \1\2/g" src/input/Makefile.am
- sed -i -e "/^src\/input\/$remove/d" configure.ac
+ rmpluglib input vcd
+done
+for remove in ffmpeg; do
+ rmpluglib combined ffmpeg
done
# Input plugins
for p in dvd vcd mms; do
diff --git a/xine-lib.spec b/xine-lib.spec
index 9c17a16..e65a622 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -6,35 +6,32 @@
# http://fedoraproject.org/wiki/Releases/FeaturePulseaudio
# --> not yet:
# http://www.redhat.com/archives/fedora-devel-list/2007-August/msg01411.html
-# - external dvdnav - not compatible as of 1.1.9.1 and 4.1.1
+# - external dvdnav - not compatible as of 1.1.11 and 4.1.1
%define codecdir %{_libdir}/codecs
+
%ifarch %{ix86}
%define have_vidix 1
%else
%define have_vidix 0
%endif # ix86
-%if 0%{?fedora} > 6
- %define with_xcb %{?_without_xcb:0}%{!?_without_xcb:1}
-%else
- %define with_xcb %{?_with_xcb:1}%{!?_with_xcb:0}
-%endif # >= F8
- %define with_jack %{?_without_jack:0}%{!?_without_jack:1}
- %define with_wpack %{?_without_wavpack:0}%{!?_without_wavpack:1}
+
%if 0%{?fedora}
%define with_aalib %{?_without_aalib:0}%{!?_without_aalib:1}
%define with_caca %{?_without_caca:0}%{!?_without_caca:1}
%define with_pa %{?_without_pulseaudio:0}%{!?_without_pulseaudio:1}
+ %define with_xcb %{?_without_xcb:0}%{!?_without_xcb:1}
%else
%define with_aalib %{?_with_aalib:1}%{!?_with_aalib:0}
%define with_caca %{?_with_caca:1}%{!?_with_caca:0}
%define with_pa %{?_with_pulseaudio:1}%{!?_with_pulseaudio:0}
+ %define with_xcb %{?_with_xcb:1}%{!?_with_xcb:0}
%endif # Fedora
Summary: Xine library
Name: xine-lib
-Version: 1.1.10.1
-Release: 1%{?dist}.1
+Version: 1.1.11
+Release: 1%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -50,13 +47,18 @@ Patch1: %{name}-1.1.4-optflags.patch
Patch6: %{name}-1.1.1-deepbind-939.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
# X11
-BuildRequires: libX11-devel libXv-devel libXinerama-devel libXvMC-devel
+BuildRequires: libX11-devel
+BuildRequires: libXv-devel
+BuildRequires: libXinerama-devel
+BuildRequires: libXvMC-devel
BuildRequires: libGLU-devel
%if %{with_xcb}
BuildRequires: libxcb-devel
%endif # xcb
# Video
-BuildRequires: SDL-devel libtheora-devel libmng-devel
+BuildRequires: SDL-devel
+BuildRequires: libtheora-devel
+BuildRequires: libmng-devel
%if %{with_aalib}
BuildRequires: aalib-devel >= 1.4
%endif # aalib
@@ -73,41 +75,27 @@ BuildRequires: ImageMagick-devel >= 6.2.4.6-1
BuildRequires: fontconfig-devel
%endif # freetype
# Audio
-BuildRequires: libogg-devel libvorbis-devel flac-devel libmodplug-devel
-BuildRequires: esound-devel speex-devel arts-devel alsa-lib-devel >= 0.9.0
+BuildRequires: libogg-devel
+BuildRequires: libvorbis-devel
+BuildRequires: flac-devel
+BuildRequires: libmodplug-devel
+BuildRequires: esound-devel
+BuildRequires: speex-devel
+BuildRequires: arts-devel
+BuildRequires: alsa-lib-devel >= 0.9.0
BuildRequires: libmpcdec-devel
-%if %{with_wpack}
BuildRequires: wavpack-devel
-%endif # wpack
%if %{with_pa}
BuildRequires: pulseaudio-lib-devel
%endif # pa
-%if %{with_jack}
BuildRequires: jack-audio-connection-kit-devel
-%endif # jack
# CDs
BuildRequires: libcdio-devel
# Other
-BuildRequires: pkgconfig gnome-vfs2-devel gtk2-devel libsmbclient-devel
-
-%package devel
-Summary: Xine library development files
-Group: Development/Libraries
-Requires: %{name} = %{version}-%{release}
-Requires: pkgconfig zlib-devel
-
-%package arts
-Summary: aRts plugin for xine-lib
-Group: System Environment/Libraries
-Requires: %{name} = %{version}-%{release}
-# -arts was split off the -extras subpackage at 1.1.7-3
-Obsoletes: xine-lib-extras < 1.1.7-3
-
-%package extras
-Summary: Additional plugins for xine-lib
-Group: System Environment/Libraries
-Requires: %{name} = %{version}-%{release}
-
+BuildRequires: pkgconfig
+BuildRequires: gnome-vfs2-devel
+BuildRequires: gtk2-devel
+BuildRequires: libsmbclient-devel
%description
This package contains the Xine library. Xine is a free multimedia player.
@@ -116,21 +104,37 @@ disk drives, and displays multimedia streamed over the Internet. It
interprets many of the most common multimedia formats available - and some
of the most uncommon formats, too. --with/--without rpmbuild options
(some default values depend on target distribution): aalib, caca, directfb,
-imagemagick, freetype, antialiasing (with freetype), jack, pulseaudio,
-wavpack, xcb.
+imagemagick, freetype, antialiasing (with freetype), pulseaudio, xcb.
+
+%package devel
+Summary: Xine library development files
+Group: Development/Libraries
+Requires: %{name} = %{version}-%{release}
+Requires: pkgconfig
+Requires: zlib-devel
-%description devel
+%description devel
This package contains development files for xine-lib.
-%description arts
+%package arts
+Summary: aRts plugin for xine-lib
+Group: System Environment/Libraries
+Requires: %{name} = %{version}-%{release}
+# -arts was split off the -extras subpackage at 1.1.7-3
+Obsoletes: xine-lib-extras < 1.1.7-3
+
+%description arts
This package contains the aRts extra plugin for xine-lib.
-%description extras
+%package extras
+Summary: Additional plugins for xine-lib
+Group: System Environment/Libraries
+Requires: %{name} = %{version}-%{release}
+
+%description extras
This package contains extra plugins for xine-lib:
- EsounD
-%if %{with_jack}
- JACK
-%endif # jack
%if %{with_pa}
- Pulseaudio
%endif # pa
@@ -197,9 +201,7 @@ export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)"
--without-imagemagick \
%endif # imagemagick
--with-arts \
-%if %{with_wpack}
--with-wavpack \
-%endif
--with-real-codecs-path=%{codecdir} \
--with-w32-path=%{codecdir}
@@ -337,9 +339,7 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/*/xineplug_vo_out_xv.so
%{_libdir}/xine/plugins/*/xineplug_vo_out_xvmc.so
%{_libdir}/xine/plugins/*/xineplug_vo_out_xxmc.so
-%if %{with_wpack}
%{_libdir}/xine/plugins/*/xineplug_wavpack.so
-%endif # wpack
%files arts
%defattr(-,root,root,-)
@@ -348,9 +348,7 @@ rm -rf $RPM_BUILD_ROOT
%files extras
%defattr(-,root,root,-)
%{_libdir}/xine/plugins/*/xineplug_ao_out_esd.so
-%if %{with_jack}
%{_libdir}/xine/plugins/*/xineplug_ao_out_jack.so
-%endif # jack
%if %{with_pa}
%{_libdir}/xine/plugins/*/xineplug_ao_out_pulseaudio.so
%endif # pa
@@ -385,6 +383,11 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Wed Mar 19 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.11-1
+- 1.1.11 (security update, #438182, CVE-2008-0073).
+- Drop jack and wavpack build conditionals.
+- Specfile cleanups.
+
* Fri Mar 7 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.10.1-1.1
- xcb support for f7+ (#373411)
commit 2990be646a5b8f92ec6d3efe3dd5511b78e16929
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Fri Mar 7 14:31:37 2008 +0000
* Fri Mar 7 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.10.1-1.1
- xcb support for f7+ (#373411)
diff --git a/xine-lib.spec b/xine-lib.spec
index eadfc22..9c17a16 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -14,7 +14,7 @@
%else
%define have_vidix 0
%endif # ix86
-%if 0%{?fedora} >= 8
+%if 0%{?fedora} > 6
%define with_xcb %{?_without_xcb:0}%{!?_without_xcb:1}
%else
%define with_xcb %{?_with_xcb:1}%{!?_with_xcb:0}
@@ -34,7 +34,7 @@
Summary: Xine library
Name: xine-lib
Version: 1.1.10.1
-Release: 1%{?dist}
+Release: 1%{?dist}.1
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -385,6 +385,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Fri Mar 7 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.10.1-1.1
+- xcb support for f7+ (#373411)
+
* Fri Feb 8 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.10.1-1
- 1.1.10.1 (security update, #431541).
commit 05ea833ad6bac4dae632fed17aab0df5a2e9b13b
Author: Ville Skyttä <scop(a)fedoraproject.org>
Date: Fri Feb 8 19:46:29 2008 +0000
* Fri Feb 8 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.10.1-1
- 1.1.10.1 (security update, #431541).
diff --git a/.cvsignore b/.cvsignore
index e2128b7..bb4470f 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -1,2 +1,2 @@
-xine-lib-1.1.10-pruned.tar.bz2
-xine-lib-1.1.10-autotools.patch.bz2
+xine-lib-1.1.10.1-pruned.tar.bz2
+xine-lib-1.1.10.1-autotools.patch.bz2
diff --git a/sources b/sources
index ef97526..028f7ca 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-4989b50fd279ed69b03816233cefa657 xine-lib-1.1.10-pruned.tar.bz2
-8bc0516867b8032729a298b0dfe77527 xine-lib-1.1.10-autotools.patch.bz2
+3e78ed0690314436b0a74d1d11535fea xine-lib-1.1.10.1-pruned.tar.bz2
+b7e702d0bd235e7102efaa11caea2895 xine-lib-1.1.10.1-autotools.patch.bz2
diff --git a/xine-lib-1.1.5-multilib-devel.patch b/xine-lib-1.1.5-multilib-devel.patch
deleted file mode 100644
index 5b5d05d..0000000
--- a/xine-lib-1.1.5-multilib-devel.patch
+++ /dev/null
@@ -1,40 +0,0 @@
---- misc/xine-config.in~ 2007-04-05 01:18:00.000000000 +0300
-+++ misc/xine-config.in 2007-04-11 01:32:44.000000000 +0300
-@@ -2,8 +2,8 @@
- #
- #
-
--prefix=@XINE_CONFIG_PREFIX@
--exec_prefix=@exec_prefix@
-+prefix=$(pkg-config libxine --variable=prefix)
-+exec_prefix=$(pkg-config libxine --variable=exec_prefix)
- exec_prefix_set=no
-
- usage()
-@@ -54,7 +54,7 @@
- echo_exec_prefix=yes
- ;;
- --version)
-- echo @XINE_MAJOR@.@XINE_MINOR@.(a)XINE_SUB@
-+ pkg-config libxine --modversion
- ;;
- --acflags)
- echo_acflags=yes
-@@ -100,14 +100,14 @@
- fi
-
- if test "$echo_cflags" = "yes"; then
-- echo -I@includedir@ @PTHREAD_CFLAGS@
-+ pkg-config libxine --cflags
- fi
-
- if test "$echo_libs" = "yes"; then
-- echo -L@libdir@ -lxine @ZLIB_LIBS@ @NET_LIBS@ @PTHREAD_LIBS@ @LIBICONV@ @RT_LIBS@
-+ pkg-config libxine --libs
- fi
- if test "$echo_plugindir" = "yes"; then
-- echo "@XINE_PLUGINPATH@"
-+ echo "$(pkg-config libxine --variable=libdir)/xine/plugins/$(pkg-config libxine --modversion)"
- fi
- if test "$echo_datadir" = "yes"; then
- echo "@XINE_DATADIR@"
diff --git a/xine-lib-1.1.9.1-aoclose-429182.patch b/xine-lib-1.1.9.1-aoclose-429182.patch
deleted file mode 100644
index e90c6be..0000000
--- a/xine-lib-1.1.9.1-aoclose-429182.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-http://thread.gmane.org/gmane.comp.video.xine.devel/17682
-
-diff -up xine-lib-1.1.9.1/src/xine-engine/audio_out.c~ xine-lib-1.1.9.1/src/xine-engine/audio_out.c
---- xine-lib-1.1.9.1/src/xine-engine/audio_out.c~ 2008-01-01 15:30:09.000000000 +0200
-+++ xine-lib-1.1.9.1/src/xine-engine/audio_out.c 2008-01-20 11:46:40.000000000 +0200
-@@ -1612,11 +1612,13 @@ static void ao_close(xine_audio_port_t *
- xprintf (this->xine, XINE_VERBOSITY_DEBUG, "audio_out: no streams left, closing driver\n");
-
- if (this->audio_loop_running) {
-+#if 0
- if (this->clock->speed == XINE_SPEED_PAUSE ||
- (this->clock->speed != XINE_FINE_SPEED_NORMAL && !this->slow_fast_audio)) {
- /* discard buffers, otherwise we'll wait forever */
- ao_set_property(this_gen, AO_PROP_DISCARD_BUFFERS, 1);
- }
-+#endif
- /* make sure there are no more buffers on queue */
- fifo_wait_empty(this->out_fifo);
- }
diff --git a/xine-lib.spec b/xine-lib.spec
index 6992539..eadfc22 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -33,8 +33,8 @@
Summary: Xine library
Name: xine-lib
-Version: 1.1.10
-Release: 2%{?dist}
+Version: 1.1.10.1
+Release: 1%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -241,136 +241,136 @@ rm -rf $RPM_BUILD_ROOT
%{_mandir}/man5/xine.5*
%dir %{_libdir}/xine/
%dir %{_libdir}/xine/plugins/
-%dir %{_libdir}/xine/plugins/%{version}/
-%{_libdir}/xine/plugins/%{version}/mime.types
+%dir %{_libdir}/xine/plugins/*/
+%{_libdir}/xine/plugins/*/mime.types
# Listing every plugin separately for better control over binary packages
# containing exactly the plugins we want, nothing accidentally snuck in
# nor dropped.
-%dir %{_libdir}/xine/plugins/%{version}/post/
-%{_libdir}/xine/plugins/%{version}/post/xineplug_post_audio_filters.so
-%{_libdir}/xine/plugins/%{version}/post/xineplug_post_goom.so
-%{_libdir}/xine/plugins/%{version}/post/xineplug_post_mosaico.so
-%{_libdir}/xine/plugins/%{version}/post/xineplug_post_switch.so
-%{_libdir}/xine/plugins/%{version}/post/xineplug_post_visualizations.so
+%dir %{_libdir}/xine/plugins/*/post/
+%{_libdir}/xine/plugins/*/post/xineplug_post_audio_filters.so
+%{_libdir}/xine/plugins/*/post/xineplug_post_goom.so
+%{_libdir}/xine/plugins/*/post/xineplug_post_mosaico.so
+%{_libdir}/xine/plugins/*/post/xineplug_post_switch.so
+%{_libdir}/xine/plugins/*/post/xineplug_post_visualizations.so
%if %{have_vidix}
-%dir %{_libdir}/xine/plugins/%{version}/vidix/
-%{_libdir}/xine/plugins/%{version}/vidix/cyberblade_vid.so
-%{_libdir}/xine/plugins/%{version}/vidix/mach64_vid.so
-%{_libdir}/xine/plugins/%{version}/vidix/mga_crtc2_vid.so
-%{_libdir}/xine/plugins/%{version}/vidix/mga_vid.so
-%{_libdir}/xine/plugins/%{version}/vidix/nvidia_vid.so
-%{_libdir}/xine/plugins/%{version}/vidix/pm2_vid.so
-%{_libdir}/xine/plugins/%{version}/vidix/pm3_vid.so
-%{_libdir}/xine/plugins/%{version}/vidix/radeon_vid.so
-%{_libdir}/xine/plugins/%{version}/vidix/rage128_vid.so
-%{_libdir}/xine/plugins/%{version}/vidix/savage_vid.so
-%{_libdir}/xine/plugins/%{version}/vidix/sis_vid.so
-%{_libdir}/xine/plugins/%{version}/vidix/unichrome_vid.so
+%dir %{_libdir}/xine/plugins/*/vidix/
+%{_libdir}/xine/plugins/*/vidix/cyberblade_vid.so
+%{_libdir}/xine/plugins/*/vidix/mach64_vid.so
+%{_libdir}/xine/plugins/*/vidix/mga_crtc2_vid.so
+%{_libdir}/xine/plugins/*/vidix/mga_vid.so
+%{_libdir}/xine/plugins/*/vidix/nvidia_vid.so
+%{_libdir}/xine/plugins/*/vidix/pm2_vid.so
+%{_libdir}/xine/plugins/*/vidix/pm3_vid.so
+%{_libdir}/xine/plugins/*/vidix/radeon_vid.so
+%{_libdir}/xine/plugins/*/vidix/rage128_vid.so
+%{_libdir}/xine/plugins/*/vidix/savage_vid.so
+%{_libdir}/xine/plugins/*/vidix/sis_vid.so
+%{_libdir}/xine/plugins/*/vidix/unichrome_vid.so
%endif # vidix
-%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_alsa.so
-%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_file.so
-%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_none.so
-%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_oss.so
-%{_libdir}/xine/plugins/%{version}/xineplug_decode_bitplane.so
-%{_libdir}/xine/plugins/%{version}/xineplug_decode_gsm610.so
-%{_libdir}/xine/plugins/%{version}/xineplug_decode_lpcm.so
-%{_libdir}/xine/plugins/%{version}/xineplug_decode_mpc.so
+%{_libdir}/xine/plugins/*/xineplug_ao_out_alsa.so
+%{_libdir}/xine/plugins/*/xineplug_ao_out_file.so
+%{_libdir}/xine/plugins/*/xineplug_ao_out_none.so
+%{_libdir}/xine/plugins/*/xineplug_ao_out_oss.so
+%{_libdir}/xine/plugins/*/xineplug_decode_bitplane.so
+%{_libdir}/xine/plugins/*/xineplug_decode_gsm610.so
+%{_libdir}/xine/plugins/*/xineplug_decode_lpcm.so
+%{_libdir}/xine/plugins/*/xineplug_decode_mpc.so
%ifarch %ix86
-%{_libdir}/xine/plugins/%{version}/xineplug_decode_qt.so
+%{_libdir}/xine/plugins/*/xineplug_decode_qt.so
%endif # ix86
-%{_libdir}/xine/plugins/%{version}/xineplug_decode_real.so
-%{_libdir}/xine/plugins/%{version}/xineplug_decode_rgb.so
-%{_libdir}/xine/plugins/%{version}/xineplug_decode_speex.so
-%{_libdir}/xine/plugins/%{version}/xineplug_decode_spu.so
-%{_libdir}/xine/plugins/%{version}/xineplug_decode_spucc.so
-%{_libdir}/xine/plugins/%{version}/xineplug_decode_spucmml.so
-%{_libdir}/xine/plugins/%{version}/xineplug_decode_spudvb.so
-%{_libdir}/xine/plugins/%{version}/xineplug_decode_sputext.so
-%{_libdir}/xine/plugins/%{version}/xineplug_decode_theora.so
-%{_libdir}/xine/plugins/%{version}/xineplug_decode_vorbis.so
+%{_libdir}/xine/plugins/*/xineplug_decode_real.so
+%{_libdir}/xine/plugins/*/xineplug_decode_rgb.so
+%{_libdir}/xine/plugins/*/xineplug_decode_speex.so
+%{_libdir}/xine/plugins/*/xineplug_decode_spu.so
+%{_libdir}/xine/plugins/*/xineplug_decode_spucc.so
+%{_libdir}/xine/plugins/*/xineplug_decode_spucmml.so
+%{_libdir}/xine/plugins/*/xineplug_decode_spudvb.so
+%{_libdir}/xine/plugins/*/xineplug_decode_sputext.so
+%{_libdir}/xine/plugins/*/xineplug_decode_theora.so
+%{_libdir}/xine/plugins/*/xineplug_decode_vorbis.so
%ifarch %ix86
-%{_libdir}/xine/plugins/%{version}/xineplug_decode_w32dll.so
+%{_libdir}/xine/plugins/*/xineplug_decode_w32dll.so
%endif # ix86
-%{_libdir}/xine/plugins/%{version}/xineplug_decode_yuv.so
-%{_libdir}/xine/plugins/%{version}/xineplug_dmx_audio.so
-%{_libdir}/xine/plugins/%{version}/xineplug_dmx_avi.so
-%{_libdir}/xine/plugins/%{version}/xineplug_dmx_fli.so
-%{_libdir}/xine/plugins/%{version}/xineplug_dmx_flv.so
-%{_libdir}/xine/plugins/%{version}/xineplug_dmx_games.so
-%{_libdir}/xine/plugins/%{version}/xineplug_dmx_iff.so
-%{_libdir}/xine/plugins/%{version}/xineplug_dmx_image.so
-%{_libdir}/xine/plugins/%{version}/xineplug_dmx_matroska.so
-%{_libdir}/xine/plugins/%{version}/xineplug_dmx_mng.so
-%{_libdir}/xine/plugins/%{version}/xineplug_dmx_nsv.so
-%{_libdir}/xine/plugins/%{version}/xineplug_dmx_ogg.so
-%{_libdir}/xine/plugins/%{version}/xineplug_dmx_pva.so
-%{_libdir}/xine/plugins/%{version}/xineplug_dmx_qt.so
-%{_libdir}/xine/plugins/%{version}/xineplug_dmx_rawdv.so
-%{_libdir}/xine/plugins/%{version}/xineplug_dmx_real.so
-%{_libdir}/xine/plugins/%{version}/xineplug_dmx_slave.so
-%{_libdir}/xine/plugins/%{version}/xineplug_dmx_sputext.so
-%{_libdir}/xine/plugins/%{version}/xineplug_dmx_yuv_frames.so
-%{_libdir}/xine/plugins/%{version}/xineplug_flac.so
-%{_libdir}/xine/plugins/%{version}/xineplug_inp_cdda.so
-%{_libdir}/xine/plugins/%{version}/xineplug_inp_dvb.so
-%{_libdir}/xine/plugins/%{version}/xineplug_inp_file.so
-%{_libdir}/xine/plugins/%{version}/xineplug_inp_http.so
-%{_libdir}/xine/plugins/%{version}/xineplug_inp_net.so
-%{_libdir}/xine/plugins/%{version}/xineplug_inp_pnm.so
-%{_libdir}/xine/plugins/%{version}/xineplug_inp_pvr.so
-%{_libdir}/xine/plugins/%{version}/xineplug_inp_rtp.so
-%{_libdir}/xine/plugins/%{version}/xineplug_inp_rtsp.so
-%{_libdir}/xine/plugins/%{version}/xineplug_inp_stdin_fifo.so
-%{_libdir}/xine/plugins/%{version}/xineplug_inp_v4l.so
-%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_fb.so
-%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_none.so
-%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_opengl.so
-%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_syncfb.so
+%{_libdir}/xine/plugins/*/xineplug_decode_yuv.so
+%{_libdir}/xine/plugins/*/xineplug_dmx_audio.so
+%{_libdir}/xine/plugins/*/xineplug_dmx_avi.so
+%{_libdir}/xine/plugins/*/xineplug_dmx_fli.so
+%{_libdir}/xine/plugins/*/xineplug_dmx_flv.so
+%{_libdir}/xine/plugins/*/xineplug_dmx_games.so
+%{_libdir}/xine/plugins/*/xineplug_dmx_iff.so
+%{_libdir}/xine/plugins/*/xineplug_dmx_image.so
+%{_libdir}/xine/plugins/*/xineplug_dmx_matroska.so
+%{_libdir}/xine/plugins/*/xineplug_dmx_mng.so
+%{_libdir}/xine/plugins/*/xineplug_dmx_nsv.so
+%{_libdir}/xine/plugins/*/xineplug_dmx_ogg.so
+%{_libdir}/xine/plugins/*/xineplug_dmx_pva.so
+%{_libdir}/xine/plugins/*/xineplug_dmx_qt.so
+%{_libdir}/xine/plugins/*/xineplug_dmx_rawdv.so
+%{_libdir}/xine/plugins/*/xineplug_dmx_real.so
+%{_libdir}/xine/plugins/*/xineplug_dmx_slave.so
+%{_libdir}/xine/plugins/*/xineplug_dmx_sputext.so
+%{_libdir}/xine/plugins/*/xineplug_dmx_yuv_frames.so
+%{_libdir}/xine/plugins/*/xineplug_flac.so
+%{_libdir}/xine/plugins/*/xineplug_inp_cdda.so
+%{_libdir}/xine/plugins/*/xineplug_inp_dvb.so
+%{_libdir}/xine/plugins/*/xineplug_inp_file.so
+%{_libdir}/xine/plugins/*/xineplug_inp_http.so
+%{_libdir}/xine/plugins/*/xineplug_inp_net.so
+%{_libdir}/xine/plugins/*/xineplug_inp_pnm.so
+%{_libdir}/xine/plugins/*/xineplug_inp_pvr.so
+%{_libdir}/xine/plugins/*/xineplug_inp_rtp.so
+%{_libdir}/xine/plugins/*/xineplug_inp_rtsp.so
+%{_libdir}/xine/plugins/*/xineplug_inp_stdin_fifo.so
+%{_libdir}/xine/plugins/*/xineplug_inp_v4l.so
+%{_libdir}/xine/plugins/*/xineplug_vo_out_fb.so
+%{_libdir}/xine/plugins/*/xineplug_vo_out_none.so
+%{_libdir}/xine/plugins/*/xineplug_vo_out_opengl.so
+%{_libdir}/xine/plugins/*/xineplug_vo_out_syncfb.so
%if %{have_vidix}
-%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_vidix.so
+%{_libdir}/xine/plugins/*/xineplug_vo_out_vidix.so
%endif # vidix
%if %{with_xcb}
-%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xcbshm.so
-%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xcbxv.so
+%{_libdir}/xine/plugins/*/xineplug_vo_out_xcbshm.so
+%{_libdir}/xine/plugins/*/xineplug_vo_out_xcbxv.so
%endif # xcb
-%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xshm.so
-%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xv.so
-%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xvmc.so
-%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xxmc.so
+%{_libdir}/xine/plugins/*/xineplug_vo_out_xshm.so
+%{_libdir}/xine/plugins/*/xineplug_vo_out_xv.so
+%{_libdir}/xine/plugins/*/xineplug_vo_out_xvmc.so
+%{_libdir}/xine/plugins/*/xineplug_vo_out_xxmc.so
%if %{with_wpack}
-%{_libdir}/xine/plugins/%{version}/xineplug_wavpack.so
+%{_libdir}/xine/plugins/*/xineplug_wavpack.so
%endif # wpack
%files arts
%defattr(-,root,root,-)
-%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_arts.so
+%{_libdir}/xine/plugins/*/xineplug_ao_out_arts.so
%files extras
%defattr(-,root,root,-)
-%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_esd.so
+%{_libdir}/xine/plugins/*/xineplug_ao_out_esd.so
%if %{with_jack}
-%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_jack.so
+%{_libdir}/xine/plugins/*/xineplug_ao_out_jack.so
%endif # jack
%if %{with_pa}
-%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_pulseaudio.so
+%{_libdir}/xine/plugins/*/xineplug_ao_out_pulseaudio.so
%endif # pa
-%{_libdir}/xine/plugins/%{version}/xineplug_decode_gdk_pixbuf.so
+%{_libdir}/xine/plugins/*/xineplug_decode_gdk_pixbuf.so
%if 0%{!?_without_imagemagick:1}
-%{_libdir}/xine/plugins/%{version}/xineplug_decode_image.so
+%{_libdir}/xine/plugins/*/xineplug_decode_image.so
%endif # imagemagick
-%{_libdir}/xine/plugins/%{version}/xineplug_inp_gnome_vfs.so
-%{_libdir}/xine/plugins/%{version}/xineplug_inp_smb.so
+%{_libdir}/xine/plugins/*/xineplug_inp_gnome_vfs.so
+%{_libdir}/xine/plugins/*/xineplug_inp_smb.so
%if %{with_aalib}
-%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_aa.so
+%{_libdir}/xine/plugins/*/xineplug_vo_out_aa.so
%endif # aalib
%if %{with_caca}
-%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_caca.so
+%{_libdir}/xine/plugins/*/xineplug_vo_out_caca.so
%endif # caca
%if 0%{!?_without_directfb:1}
-%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_directfb.so
-%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xdirectfb.so
+%{_libdir}/xine/plugins/*/xineplug_vo_out_directfb.so
+%{_libdir}/xine/plugins/*/xineplug_vo_out_xdirectfb.so
%endif # directfb
-%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_sdl.so
+%{_libdir}/xine/plugins/*/xineplug_vo_out_sdl.so
%files devel
%defattr(-,root,root,-)
@@ -385,6 +385,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Fri Feb 8 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.10.1-1
+- 1.1.10.1 (security update, #431541).
+
* Sun Jan 27 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.10-2
- Include spu, spucc, and spucmml decoders (#213597).
commit ba4214cf253f1296c8166c08fb0381a7cc3b22e1
Author: Ville Skyttä <scop(a)fedoraproject.org>
Date: Sun Jan 27 00:30:25 2008 +0000
Upload correct sources.
diff --git a/sources b/sources
index 29adf6a..ef97526 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-38b23253ba2fff335bb41cf8d7e87afe xine-lib-1.1.10-pruned.tar.bz2
-823ca0360094a627857a303e069f5439 xine-lib-1.1.10-autotools.patch.bz2
+4989b50fd279ed69b03816233cefa657 xine-lib-1.1.10-pruned.tar.bz2
+8bc0516867b8032729a298b0dfe77527 xine-lib-1.1.10-autotools.patch.bz2
commit fd15e85a16c6bc3d27b04b6c3fcbdb2bf50dd1dc
Author: Ville Skyttä <scop(a)fedoraproject.org>
Date: Sat Jan 26 23:31:13 2008 +0000
* Sun Jan 27 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.10-2
- Include spu, spucc, and spucmml decoders (#213597).
diff --git a/xine-lib-cleanup-sources.sh b/xine-lib-cleanup-sources.sh
index dddb8d6..5710edf 100755
--- a/xine-lib-cleanup-sources.sh
+++ b/xine-lib-cleanup-sources.sh
@@ -22,14 +22,14 @@ tar -xjf $tarball
cd $dir
# Main libraries
-for remove in libfaad libffmpeg libmad libmpeg2 dxr3 libspudec libspucmml libspucc liba52 libdts; do
+for remove in libfaad libffmpeg libmad libmpeg2 dxr3 liba52 libdts; do
echo "removing src/$remove..."
rm -rf src/$remove
sed -i -e "/$remove/d" src/Makefile.am
sed -i -e "/^src\/$remove/d" configure.ac
done
# Input plugin libraries
-for remove in libdvdnav vcd; do
+for remove in vcd; do
echo "removing src/input/$remove..."
rm -rf src/input/$remove
sed -i -e "s/SUBDIRS = \(.*\)${remove}\(.*\)/SUBDIRS = \1\2/g" src/input/Makefile.am
diff --git a/xine-lib.spec b/xine-lib.spec
index 21601d6..6992539 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -6,6 +6,7 @@
# http://fedoraproject.org/wiki/Releases/FeaturePulseaudio
# --> not yet:
# http://www.redhat.com/archives/fedora-devel-list/2007-August/msg01411.html
+# - external dvdnav - not compatible as of 1.1.9.1 and 4.1.1
%define codecdir %{_libdir}/codecs
%ifarch %{ix86}
@@ -33,7 +34,7 @@
Summary: Xine library
Name: xine-lib
Version: 1.1.10
-Release: 1%{?dist}
+Release: 2%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -87,9 +88,7 @@ BuildRequires: jack-audio-connection-kit-devel
# CDs
BuildRequires: libcdio-devel
# Other
-BuildRequires: pkgconfig gnome-vfs2-devel gtk2-devel
-# samba-common in <= FC-6, libsmbclient-devel in FC7+
-BuildRequires: %{_includedir}/libsmbclient.h
+BuildRequires: pkgconfig gnome-vfs2-devel gtk2-devel libsmbclient-devel
%package devel
Summary: Xine library development files
@@ -180,7 +179,6 @@ export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)"
%endif # directfb
--disable-a52dec \
--disable-mad \
- --disable-dvdnavtest --with-external-dvdnav \
--disable-vcd \
--disable-asf \
--disable-faad \
@@ -283,6 +281,9 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{version}/xineplug_decode_real.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_rgb.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_speex.so
+%{_libdir}/xine/plugins/%{version}/xineplug_decode_spu.so
+%{_libdir}/xine/plugins/%{version}/xineplug_decode_spucc.so
+%{_libdir}/xine/plugins/%{version}/xineplug_decode_spucmml.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_spudvb.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_sputext.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_theora.so
@@ -384,6 +385,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Sun Jan 27 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.10-2
+- Include spu, spucc, and spucmml decoders (#213597).
+
* Sun Jan 27 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.10-1
- 1.1.10 (security update).
commit 05855294e3fca91f54ffcd426d261aef7699830b
Author: Ville Skyttä <scop(a)fedoraproject.org>
Date: Sat Jan 26 23:27:32 2008 +0000
Sync with F-8
diff --git a/.cvsignore b/.cvsignore
index 56b7d0f..e2128b7 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -1,2 +1,2 @@
-xine-lib-1.1.9.1-pruned.tar.bz2
-xine-lib-1.1.9.1-autotools.patch.bz2
+xine-lib-1.1.10-pruned.tar.bz2
+xine-lib-1.1.10-autotools.patch.bz2
diff --git a/sources b/sources
index 8967d77..29adf6a 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-012fbd83dec565a06697426620baf21e xine-lib-1.1.9.1-pruned.tar.bz2
-fae182d050b231fff79eddf335b9a618 xine-lib-1.1.9.1-autotools.patch.bz2
+38b23253ba2fff335bb41cf8d7e87afe xine-lib-1.1.10-pruned.tar.bz2
+823ca0360094a627857a303e069f5439 xine-lib-1.1.10-autotools.patch.bz2
diff --git a/xine-lib.spec b/xine-lib.spec
index 6ff5bb1..21601d6 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -32,8 +32,8 @@
Summary: Xine library
Name: xine-lib
-Version: 1.1.9.1
-Release: 3%{?dist}
+Version: 1.1.10
+Release: 1%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -46,9 +46,7 @@ Source2: %{name}-mk-autotools-patch.sh
# autotools patch created with source2
Patch0: %{name}-%{version}-autotools.patch.bz2
Patch1: %{name}-1.1.4-optflags.patch
-Patch2: %{name}-1.1.9.1-aoclose-429182.patch
Patch6: %{name}-1.1.1-deepbind-939.patch
-Patch7: %{name}-1.1.5-multilib-devel.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
# X11
BuildRequires: libX11-devel libXv-devel libXinerama-devel libXvMC-devel
@@ -162,17 +160,12 @@ touch -r configure.ac aclocal.m4
touch -r m4/optimizations.m4 m4/optimizations.m4.stamp
%patch1 -p1 -b .optflags
touch -r m4/optimizations.m4.stamp m4/optimizations.m4
-%patch2 -p1 -b .aoclose
# Patch6 needed at least when compiling with external ffmpeg, #939.
%patch6 -p1 -b .deepbind
-%patch7 -p0 -b .multilib-devel
# Avoid standard rpaths on lib64 archs:
sed -i -e 's|"/lib /usr/lib\b|"/%{_lib} %{_libdir}|' configure
-# Quick and dirty fix for #429487, check if still needed in > 1.1.9.1:
-sed -i -e 's/^\(Version:\s*\).*/\1%{version}/i' misc/libxine.pc.in
-
%build
export FFMPEG_CFLAGS=" " FFMPEG_LIBS=" "
@@ -391,6 +384,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Sun Jan 27 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.10-1
+- 1.1.10 (security update).
+
* Mon Jan 21 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.9.1-3
- Fix version number in libxine.pc (#429487).
commit 55201a3d7bd4ff3212e18af4a3da7f23162aec03
Author: Ville Skyttä <scop(a)fedoraproject.org>
Date: Wed Jan 23 17:04:56 2008 +0000
Sync with F-8.
diff --git a/xine-lib-1.1.9.1-aoclose-429182.patch b/xine-lib-1.1.9.1-aoclose-429182.patch
new file mode 100644
index 0000000..e90c6be
--- /dev/null
+++ b/xine-lib-1.1.9.1-aoclose-429182.patch
@@ -0,0 +1,19 @@
+http://thread.gmane.org/gmane.comp.video.xine.devel/17682
+
+diff -up xine-lib-1.1.9.1/src/xine-engine/audio_out.c~ xine-lib-1.1.9.1/src/xine-engine/audio_out.c
+--- xine-lib-1.1.9.1/src/xine-engine/audio_out.c~ 2008-01-01 15:30:09.000000000 +0200
++++ xine-lib-1.1.9.1/src/xine-engine/audio_out.c 2008-01-20 11:46:40.000000000 +0200
+@@ -1612,11 +1612,13 @@ static void ao_close(xine_audio_port_t *
+ xprintf (this->xine, XINE_VERBOSITY_DEBUG, "audio_out: no streams left, closing driver\n");
+
+ if (this->audio_loop_running) {
++#if 0
+ if (this->clock->speed == XINE_SPEED_PAUSE ||
+ (this->clock->speed != XINE_FINE_SPEED_NORMAL && !this->slow_fast_audio)) {
+ /* discard buffers, otherwise we'll wait forever */
+ ao_set_property(this_gen, AO_PROP_DISCARD_BUFFERS, 1);
+ }
++#endif
+ /* make sure there are no more buffers on queue */
+ fifo_wait_empty(this->out_fifo);
+ }
diff --git a/xine-lib.spec b/xine-lib.spec
index 100a7b0..6ff5bb1 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -33,7 +33,7 @@
Summary: Xine library
Name: xine-lib
Version: 1.1.9.1
-Release: 1%{?dist}
+Release: 3%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -46,6 +46,7 @@ Source2: %{name}-mk-autotools-patch.sh
# autotools patch created with source2
Patch0: %{name}-%{version}-autotools.patch.bz2
Patch1: %{name}-1.1.4-optflags.patch
+Patch2: %{name}-1.1.9.1-aoclose-429182.patch
Patch6: %{name}-1.1.1-deepbind-939.patch
Patch7: %{name}-1.1.5-multilib-devel.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@@ -161,6 +162,7 @@ touch -r configure.ac aclocal.m4
touch -r m4/optimizations.m4 m4/optimizations.m4.stamp
%patch1 -p1 -b .optflags
touch -r m4/optimizations.m4.stamp m4/optimizations.m4
+%patch2 -p1 -b .aoclose
# Patch6 needed at least when compiling with external ffmpeg, #939.
%patch6 -p1 -b .deepbind
%patch7 -p0 -b .multilib-devel
@@ -168,6 +170,9 @@ touch -r m4/optimizations.m4.stamp m4/optimizations.m4
# Avoid standard rpaths on lib64 archs:
sed -i -e 's|"/lib /usr/lib\b|"/%{_lib} %{_libdir}|' configure
+# Quick and dirty fix for #429487, check if still needed in > 1.1.9.1:
+sed -i -e 's/^\(Version:\s*\).*/\1%{version}/i' misc/libxine.pc.in
+
%build
export FFMPEG_CFLAGS=" " FFMPEG_LIBS=" "
@@ -386,6 +391,12 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Mon Jan 21 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.9.1-3
+- Fix version number in libxine.pc (#429487).
+
+* Sun Jan 20 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.9.1-2
+- Disable upstream "discard buffers on ao close" 1.1.9 changeset (#429182).
+
* Sat Jan 12 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.9.1-1
- 1.1.9.1 (security update).
commit a1849e2fcf6878989d0f581e23e1051aad8dd375
Author: Ville Skyttä <scop(a)fedoraproject.org>
Date: Sat Jan 12 11:21:23 2008 +0000
* Sat Jan 12 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.9.1-1
- 1.1.9.1 (security update).
diff --git a/.cvsignore b/.cvsignore
index b094455..56b7d0f 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -1,2 +1,2 @@
-xine-lib-1.1.9-pruned.tar.bz2
-xine-lib-1.1.9-autotools.patch.bz2
+xine-lib-1.1.9.1-pruned.tar.bz2
+xine-lib-1.1.9.1-autotools.patch.bz2
diff --git a/sources b/sources
index f1a3f24..8967d77 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-34315b3d150dee3929abd35682e65f53 xine-lib-1.1.9-pruned.tar.bz2
-29c46faf035a32c3a454dc5541b8fa3e xine-lib-1.1.9-autotools.patch.bz2
+012fbd83dec565a06697426620baf21e xine-lib-1.1.9.1-pruned.tar.bz2
+fae182d050b231fff79eddf335b9a618 xine-lib-1.1.9.1-autotools.patch.bz2
diff --git a/xine-lib.spec b/xine-lib.spec
index 6204baf..100a7b0 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -32,7 +32,7 @@
Summary: Xine library
Name: xine-lib
-Version: 1.1.9
+Version: 1.1.9.1
Release: 1%{?dist}
License: GPLv2+
Group: System Environment/Libraries
@@ -386,6 +386,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Sat Jan 12 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.9.1-1
+- 1.1.9.1 (security update).
+
* Sun Jan 6 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.9-1
- 1.1.9.
commit 7c6c8a918be72278cedfd4e9ef6caadb3a6c7fc6
Author: Ville Skyttä <scop(a)fedoraproject.org>
Date: Sun Jan 6 21:51:14 2008 +0000
* Sun Jan 6 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.9-1
- 1.1.9.
diff --git a/.cvsignore b/.cvsignore
index 0426b0d..b094455 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -1,2 +1,2 @@
-xine-lib-1.1.8-pruned.tar.bz2
-xine-lib-1.1.8-autotools.patch.bz2
+xine-lib-1.1.9-pruned.tar.bz2
+xine-lib-1.1.9-autotools.patch.bz2
diff --git a/sources b/sources
index 00ae4ec..f1a3f24 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-6cbfae9d31fc138c7cb3c3d178e1286d xine-lib-1.1.8-pruned.tar.bz2
-b4a7c7a9af428b26667402d6dc180107 xine-lib-1.1.8-autotools.patch.bz2
+34315b3d150dee3929abd35682e65f53 xine-lib-1.1.9-pruned.tar.bz2
+29c46faf035a32c3a454dc5541b8fa3e xine-lib-1.1.9-autotools.patch.bz2
diff --git a/xine-lib-cleanup-sources.sh b/xine-lib-cleanup-sources.sh
index 0a240f2..dddb8d6 100755
--- a/xine-lib-cleanup-sources.sh
+++ b/xine-lib-cleanup-sources.sh
@@ -66,7 +66,7 @@ sed -i -e '/^xineplug_decode_nsf_la/,/^\s*$/d' \
-e /xineplug_decode_nsf/d \
-e 's/ nosefart//' \
src/libxineadec/Makefile.am
-sed -i -e /nosefart/d configure.ac
+sed -i -e '/nosefart\/Makefile/d' configure.ac
# All clean !
diff --git a/xine-lib.spec b/xine-lib.spec
index 41896b8..6204baf 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -12,12 +12,12 @@
%define have_vidix 1
%else
%define have_vidix 0
-%endif
+%endif # ix86
%if 0%{?fedora} >= 8
%define with_xcb %{?_without_xcb:0}%{!?_without_xcb:1}
%else
%define with_xcb %{?_with_xcb:1}%{!?_with_xcb:0}
-%endif
+%endif # >= F8
%define with_jack %{?_without_jack:0}%{!?_without_jack:1}
%define with_wpack %{?_without_wavpack:0}%{!?_without_wavpack:1}
%if 0%{?fedora}
@@ -28,18 +28,18 @@
%define with_aalib %{?_with_aalib:1}%{!?_with_aalib:0}
%define with_caca %{?_with_caca:1}%{!?_with_caca:0}
%define with_pa %{?_with_pulseaudio:1}%{!?_with_pulseaudio:0}
-%endif
+%endif # Fedora
Summary: Xine library
Name: xine-lib
-Version: 1.1.8
-Release: 6%{?dist}
+Version: 1.1.9
+Release: 1%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
# The tarball is generated from the upstream tarball using
# the script in SOURCE1. It prunes potentially patented code
-#Source0: http://dl.sourceforge.net/xine/xine-lib-%{version}.tar.bz2
+#Source0: http://downloads.sourceforge.net/xine/xine-lib-%{version}.tar.bz2
Source0: %{name}-%{version}-pruned.tar.bz2
Source1: %{name}-cleanup-sources.sh
Source2: %{name}-mk-autotools-patch.sh
@@ -386,6 +386,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Sun Jan 6 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.9-1
+- 1.1.9.
+
* Thu Sep 27 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.8-6
- Enable wavpack support by default for all distros.
commit a90db5af5acda5cf05a856843a57a31bbf93bc28
Author: Ville Skyttä <scop(a)fedoraproject.org>
Date: Thu Sep 27 20:24:11 2007 +0000
* Thu Sep 27 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.8-6
- Enable wavpack support by default for all distros.
diff --git a/xine-lib.spec b/xine-lib.spec
index 052f450..41896b8 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -19,22 +19,21 @@
%define with_xcb %{?_with_xcb:1}%{!?_with_xcb:0}
%endif
%define with_jack %{?_without_jack:0}%{!?_without_jack:1}
+ %define with_wpack %{?_without_wavpack:0}%{!?_without_wavpack:1}
%if 0%{?fedora}
%define with_aalib %{?_without_aalib:0}%{!?_without_aalib:1}
%define with_caca %{?_without_caca:0}%{!?_without_caca:1}
%define with_pa %{?_without_pulseaudio:0}%{!?_without_pulseaudio:1}
- %define with_wpack %{?_without_wavpack:0}%{!?_without_wavpack:1}
%else
%define with_aalib %{?_with_aalib:1}%{!?_with_aalib:0}
%define with_caca %{?_with_caca:1}%{!?_with_caca:0}
%define with_pa %{?_with_pulseaudio:1}%{!?_with_pulseaudio:0}
- %define with_wpack %{?_with_wavpack:1}%{!?_with_wavpack:0}
%endif
Summary: Xine library
Name: xine-lib
Version: 1.1.8
-Release: 5%{?dist}
+Release: 6%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -387,6 +386,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Thu Sep 27 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.8-6
+- Enable wavpack support by default for all distros.
+
* Sun Sep 23 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.8-5
- Enable JACK support by default for all distros.
commit 6ee255e778ea9cf5a1cc1c7c656aa939caa5899d
Author: Ville Skyttä <scop(a)fedoraproject.org>
Date: Mon Sep 24 19:29:46 2007 +0000
* Sun Sep 23 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.8-5
- Enable JACK support by default for all distros.
diff --git a/xine-lib.spec b/xine-lib.spec
index 69784e8..052f450 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -18,16 +18,15 @@
%else
%define with_xcb %{?_with_xcb:1}%{!?_with_xcb:0}
%endif
+ %define with_jack %{?_without_jack:0}%{!?_without_jack:1}
%if 0%{?fedora}
%define with_aalib %{?_without_aalib:0}%{!?_without_aalib:1}
%define with_caca %{?_without_caca:0}%{!?_without_caca:1}
- %define with_jack %{?_without_jack:0}%{!?_without_jack:1}
%define with_pa %{?_without_pulseaudio:0}%{!?_without_pulseaudio:1}
%define with_wpack %{?_without_wavpack:0}%{!?_without_wavpack:1}
%else
%define with_aalib %{?_with_aalib:1}%{!?_with_aalib:0}
%define with_caca %{?_with_caca:1}%{!?_with_caca:0}
- %define with_jack %{?_with_jack:1}%{!?_with_jack:0}
%define with_pa %{?_with_pulseaudio:1}%{!?_with_pulseaudio:0}
%define with_wpack %{?_with_wavpack:1}%{!?_with_wavpack:0}
%endif
@@ -35,7 +34,7 @@
Summary: Xine library
Name: xine-lib
Version: 1.1.8
-Release: 4%{?dist}
+Release: 5%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -388,6 +387,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Sun Sep 23 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.8-5
+- Enable JACK support by default for all distros.
+
* Wed Sep 19 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.8-4
- Fix "--without wavpack" build.
commit 3c63a080040549bca1239ae6ec7017cd125324cf
Author: Ville Skyttä <scop(a)fedoraproject.org>
Date: Wed Sep 19 19:32:59 2007 +0000
* Wed Sep 19 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.8-4
- Fix "--without wavpack" build.
diff --git a/xine-lib.spec b/xine-lib.spec
index d953df1..69784e8 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -35,7 +35,7 @@
Summary: Xine library
Name: xine-lib
Version: 1.1.8
-Release: 3%{?dist}
+Release: 4%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -340,7 +340,9 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xv.so
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xvmc.so
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xxmc.so
+%if %{with_wpack}
%{_libdir}/xine/plugins/%{version}/xineplug_wavpack.so
+%endif # wpack
%files arts
%defattr(-,root,root,-)
@@ -386,6 +388,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Wed Sep 19 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.8-4
+- Fix "--without wavpack" build.
+
* Sat Sep 15 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.8-3
- Move XCB plugins to the main package.
- Make aalib, caca, pulseaudio, jack, and wavpack support optional at build
commit 1e7ec3f6bf770b5d44da037b7f17b4ec3c7102e3
Author: Ville Skyttä <scop(a)fedoraproject.org>
Date: Wed Sep 19 19:04:27 2007 +0000
* Sat Sep 15 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.8-3
- Move XCB plugins to the main package.
- Make aalib, caca, pulseaudio, jack, and wavpack support optional at build
time in preparation for the first EPEL build.
diff --git a/xine-lib.spec b/xine-lib.spec
index c9a2d89..d953df1 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -9,20 +9,33 @@
%define codecdir %{_libdir}/codecs
%ifarch %{ix86}
-%define have_vidix 1
+ %define have_vidix 1
%else
-%define have_vidix 0
+ %define have_vidix 0
%endif
%if 0%{?fedora} >= 8
-%define with_xcb 1
+ %define with_xcb %{?_without_xcb:0}%{!?_without_xcb:1}
%else
-%define with_xcb 0
+ %define with_xcb %{?_with_xcb:1}%{!?_with_xcb:0}
+%endif
+%if 0%{?fedora}
+ %define with_aalib %{?_without_aalib:0}%{!?_without_aalib:1}
+ %define with_caca %{?_without_caca:0}%{!?_without_caca:1}
+ %define with_jack %{?_without_jack:0}%{!?_without_jack:1}
+ %define with_pa %{?_without_pulseaudio:0}%{!?_without_pulseaudio:1}
+ %define with_wpack %{?_without_wavpack:0}%{!?_without_wavpack:1}
+%else
+ %define with_aalib %{?_with_aalib:1}%{!?_with_aalib:0}
+ %define with_caca %{?_with_caca:1}%{!?_with_caca:0}
+ %define with_jack %{?_with_jack:1}%{!?_with_jack:0}
+ %define with_pa %{?_with_pulseaudio:1}%{!?_with_pulseaudio:0}
+ %define with_wpack %{?_with_wavpack:1}%{!?_with_wavpack:0}
%endif
Summary: Xine library
Name: xine-lib
Version: 1.1.8
-Release: 2%{?dist}
+Release: 3%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -43,25 +56,37 @@ BuildRequires: libX11-devel libXv-devel libXinerama-devel libXvMC-devel
BuildRequires: libGLU-devel
%if %{with_xcb}
BuildRequires: libxcb-devel
-%endif
+%endif # xcb
# Video
BuildRequires: SDL-devel libtheora-devel libmng-devel
+%if %{with_aalib}
BuildRequires: aalib-devel >= 1.4
+%endif # aalib
+%if %{with_caca}
BuildRequires: libcaca-devel >= 0.99
+%endif # caca
%if 0%{!?_without_directfb:1}
BuildRequires: directfb-devel
-%endif
+%endif # directfb
%if 0%{!?_without_imagemagick:1}
BuildRequires: ImageMagick-devel >= 6.2.4.6-1
-%endif
+%endif # imagemagick
%if 0%{?_with_freetype:1}
BuildRequires: fontconfig-devel
-%endif
+%endif # freetype
# Audio
BuildRequires: libogg-devel libvorbis-devel flac-devel libmodplug-devel
BuildRequires: esound-devel speex-devel arts-devel alsa-lib-devel >= 0.9.0
-BuildRequires: jack-audio-connection-kit-devel wavpack-devel libmpcdec-devel
+BuildRequires: libmpcdec-devel
+%if %{with_wpack}
+BuildRequires: wavpack-devel
+%endif # wpack
+%if %{with_pa}
BuildRequires: pulseaudio-lib-devel
+%endif # pa
+%if %{with_jack}
+BuildRequires: jack-audio-connection-kit-devel
+%endif # jack
# CDs
BuildRequires: libcdio-devel
# Other
@@ -93,11 +118,10 @@ This package contains the Xine library. Xine is a free multimedia player.
It can play back various media. It also decodes multimedia files from local
disk drives, and displays multimedia streamed over the Internet. It
interprets many of the most common multimedia formats available - and some
-of the most uncommon formats, too. Non-default rpmbuild options:
---without imagemagick: Disable ImageMagick support
---without directfb: Disable DirectFB support
---with freetype: Enable FreeType/Fontconfig support
---with antialiasing: Enable font antialiasing (with FreeType/FontConfig)
+of the most uncommon formats, too. --with/--without rpmbuild options
+(some default values depend on target distribution): aalib, caca, directfb,
+imagemagick, freetype, antialiasing (with freetype), jack, pulseaudio,
+wavpack, xcb.
%description devel
This package contains development files for xine-lib.
@@ -108,23 +132,28 @@ This package contains the aRts extra plugin for xine-lib.
%description extras
This package contains extra plugins for xine-lib:
- EsounD
+%if %{with_jack}
- JACK
+%endif # jack
+%if %{with_pa}
- Pulseaudio
+%endif # pa
- GDK-Pixbuf
- GNOME VFS
- SMB
- SDL
+%if %{with_aalib}
- AA-lib
+%endif # aalib
+%if %{with_caca}
- Libcaca
+%endif # caca
%if 0%{!?_without_imagemagick:1}
- Image decoding
-%endif
+%endif # imagemagick
%if 0%{!?_without_directfb:1}
- DirectFB output
-%endif
-%if %{with_xcb}
- - XCB output
-%endif
+%endif # directfb
%prep
@@ -174,7 +203,9 @@ export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)"
--without-imagemagick \
%endif # imagemagick
--with-arts \
+%if %{with_wpack}
--with-wavpack \
+%endif
--with-real-codecs-path=%{codecdir} \
--with-w32-path=%{codecdir}
@@ -241,7 +272,7 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{version}/vidix/savage_vid.so
%{_libdir}/xine/plugins/%{version}/vidix/sis_vid.so
%{_libdir}/xine/plugins/%{version}/vidix/unichrome_vid.so
-%endif
+%endif # vidix
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_alsa.so
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_file.so
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_none.so
@@ -252,7 +283,7 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{version}/xineplug_decode_mpc.so
%ifarch %ix86
%{_libdir}/xine/plugins/%{version}/xineplug_decode_qt.so
-%endif
+%endif # ix86
%{_libdir}/xine/plugins/%{version}/xineplug_decode_real.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_rgb.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_speex.so
@@ -262,7 +293,7 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{version}/xineplug_decode_vorbis.so
%ifarch %ix86
%{_libdir}/xine/plugins/%{version}/xineplug_decode_w32dll.so
-%endif
+%endif # ix86
%{_libdir}/xine/plugins/%{version}/xineplug_decode_yuv.so
%{_libdir}/xine/plugins/%{version}/xineplug_dmx_audio.so
%{_libdir}/xine/plugins/%{version}/xineplug_dmx_avi.so
@@ -300,14 +331,17 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_syncfb.so
%if %{have_vidix}
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_vidix.so
-%endif
+%endif # vidix
+%if %{with_xcb}
+%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xcbshm.so
+%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xcbxv.so
+%endif # xcb
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xshm.so
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xv.so
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xvmc.so
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xxmc.so
%{_libdir}/xine/plugins/%{version}/xineplug_wavpack.so
-
%files arts
%defattr(-,root,root,-)
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_arts.so
@@ -315,26 +349,29 @@ rm -rf $RPM_BUILD_ROOT
%files extras
%defattr(-,root,root,-)
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_esd.so
+%if %{with_jack}
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_jack.so
+%endif # jack
+%if %{with_pa}
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_pulseaudio.so
+%endif # pa
%{_libdir}/xine/plugins/%{version}/xineplug_decode_gdk_pixbuf.so
%if 0%{!?_without_imagemagick:1}
%{_libdir}/xine/plugins/%{version}/xineplug_decode_image.so
-%endif
+%endif # imagemagick
%{_libdir}/xine/plugins/%{version}/xineplug_inp_gnome_vfs.so
%{_libdir}/xine/plugins/%{version}/xineplug_inp_smb.so
+%if %{with_aalib}
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_aa.so
+%endif # aalib
+%if %{with_caca}
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_caca.so
+%endif # caca
%if 0%{!?_without_directfb:1}
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_directfb.so
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xdirectfb.so
-%endif
+%endif # directfb
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_sdl.so
-%if %{with_xcb}
-%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xcbshm.so
-%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xcbxv.so
-%endif
-
%files devel
%defattr(-,root,root,-)
@@ -349,6 +386,11 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Sat Sep 15 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.8-3
+- Move XCB plugins to the main package.
+- Make aalib, caca, pulseaudio, jack, and wavpack support optional at build
+ time in preparation for the first EPEL build.
+
* Sun Sep 09 2007 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.8-2
- remove the dependency from -extras to -arts, and use Obsoletes to
provide an upgrade path
commit 7741b9a2a7d8377952a15b3ecd7ad46cae64859e
Author: Aurelien Bompard <abompard(a)fedoraproject.org>
Date: Sun Sep 9 14:50:02 2007 +0000
* Sun Sep 09 2007 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.8-2
- remove the dependency from -extras to -arts, and use Obsoletes to
provide an upgrade path
diff --git a/xine-lib.spec b/xine-lib.spec
index 935e1d4..c9a2d89 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -22,7 +22,7 @@
Summary: Xine library
Name: xine-lib
Version: 1.1.8
-Release: 1%{?dist}
+Release: 2%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -79,12 +79,13 @@ Requires: pkgconfig zlib-devel
Summary: aRts plugin for xine-lib
Group: System Environment/Libraries
Requires: %{name} = %{version}-%{release}
+# -arts was split off the -extras subpackage at 1.1.7-3
+Obsoletes: xine-lib-extras < 1.1.7-3
%package extras
Summary: Additional plugins for xine-lib
Group: System Environment/Libraries
Requires: %{name} = %{version}-%{release}
-Requires: %{name}-arts = %{version}-%{release}
%description
@@ -348,6 +349,10 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Sun Sep 09 2007 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.8-2
+- remove the dependency from -extras to -arts, and use Obsoletes to
+ provide an upgrade path
+
* Thu Aug 30 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.8-1
- 1.1.8, "open" patch applied upstream.
- Build XCB plugins by default for Fedora 8+ only.
commit 24a2b8df9f6459375e4ac30c645fdb40a51c1104
Author: Ville Skyttä <scop(a)fedoraproject.org>
Date: Sat Sep 1 09:19:38 2007 +0000
* Thu Aug 30 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.8-1
- 1.1.8, "open" patch applied upstream.
- Build XCB plugins by default for Fedora 8+ only.
diff --git a/.cvsignore b/.cvsignore
index e98b803..0426b0d 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -1,2 +1,2 @@
-xine-lib-1.1.7-pruned.tar.bz2
-xine-lib-1.1.7-autotools.patch.bz2
+xine-lib-1.1.8-pruned.tar.bz2
+xine-lib-1.1.8-autotools.patch.bz2
diff --git a/sources b/sources
index 4131b00..00ae4ec 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-8f0714de28dab403288bbccf1a8c30c2 xine-lib-1.1.7-pruned.tar.bz2
-6b7f1d168b8b367a8c7709db687c60f6 xine-lib-1.1.7-autotools.patch.bz2
+6cbfae9d31fc138c7cb3c3d178e1286d xine-lib-1.1.8-pruned.tar.bz2
+b4a7c7a9af428b26667402d6dc180107 xine-lib-1.1.8-autotools.patch.bz2
diff --git a/xine-lib-1.1.7-open.patch b/xine-lib-1.1.7-open.patch
deleted file mode 100644
index e3d7a6a..0000000
--- a/xine-lib-1.1.7-open.patch
+++ /dev/null
@@ -1,101 +0,0 @@
---- xine-lib-1.1.7/src/libxinevdec/image.c~ 2007-04-15 20:42:16.000000000 +0300
-+++ xine-lib-1.1.7/src/libxinevdec/image.c 2007-08-14 00:40:05.000000000 +0300
-@@ -81,7 +81,7 @@ static void image_decode_data (video_dec
-
- if (!this->video_open) {
- lprintf("opening video\n");
-- this->stream->video_out->open(this->stream->video_out, this->stream);
-+ (this->stream->video_out->open)(this->stream->video_out, this->stream);
- this->video_open = 1;
- }
-
---- xine-lib-1.1.7/src/libxinevdec/gdkpixbuf.c~ 2007-04-15 20:42:16.000000000 +0300
-+++ xine-lib-1.1.7/src/libxinevdec/gdkpixbuf.c 2007-08-14 00:45:36.000000000 +0300
-@@ -74,7 +74,7 @@ static void image_decode_data (video_dec
-
- if (!this->video_open) {
- lprintf("opening video\n");
-- this->stream->video_out->open(this->stream->video_out, this->stream);
-+ (this->stream->video_out->open)(this->stream->video_out, this->stream);
- this->video_open = 1;
- }
-
---- xine-lib-1.1.7/src/libxineadec/xine_lpcm_decoder.c~ 2007-04-17 04:00:50.000000000 +0300
-+++ xine-lib-1.1.7/src/libxineadec/xine_lpcm_decoder.c 2007-08-14 00:50:49.000000000 +0300
-@@ -134,12 +134,12 @@ static void lpcm_decode_data (audio_deco
-
- /* force 24-bit samples into 16 bits for now */
- if (this->bits_per_sample == 24)
-- this->output_open = this->stream->audio_out->open (this->stream->audio_out, this->stream,
-+ this->output_open = (this->stream->audio_out->open) (this->stream->audio_out, this->stream,
- 16,
- this->rate,
- this->ao_cap_mode) ;
- else
-- this->output_open = this->stream->audio_out->open (this->stream->audio_out, this->stream,
-+ this->output_open = (this->stream->audio_out->open) (this->stream->audio_out, this->stream,
- this->bits_per_sample,
- this->rate,
- this->ao_cap_mode) ;
---- xine-lib-1.1.7/src/xine-engine/audio_out.c~ 2007-06-05 00:37:38.000000000 +0300
-+++ xine-lib-1.1.7/src/xine-engine/audio_out.c 2007-08-14 00:34:30.000000000 +0300
-@@ -1401,7 +1401,7 @@ static int ao_change_settings(aos_t *thi
- _("stereo not supported by driver, converting to mono.\n"));
- }
-
-- output_sample_rate=this->driver->open(this->driver,bits,(this->force_rate ? this->force_rate : rate),mode);
-+ output_sample_rate=(this->driver->open)(this->driver,bits,(this->force_rate ? this->force_rate : rate),mode);
- } else
- output_sample_rate = this->input.rate;
-
---- xine-lib-1.1.7/src/xine-engine/xine.c~ 2007-05-06 17:20:54.000000000 +0300
-+++ xine-lib-1.1.7/src/xine-engine/xine.c 2007-08-14 00:26:30.000000000 +0300
-@@ -462,7 +462,7 @@ static int stream_rewire_audio(xine_post
-
- if (stream->audio_out->status(stream->audio_out, stream, &bits, &rate, &mode)) {
- /* register our stream at the new output port */
-- new_port->open(new_port, stream, bits, rate, mode);
-+ (new_port->open)(new_port, stream, bits, rate, mode);
- stream->audio_out->close(stream->audio_out, stream);
- }
- stream->audio_out = new_port;
-@@ -486,7 +486,7 @@ static int stream_rewire_video(xine_post
-
- if (stream->video_out->status(stream->video_out, stream, &width, &height, &img_duration)) {
- /* register our stream at the new output port */
-- new_port->open(new_port, stream);
-+ (new_port->open)(new_port, stream);
- stream->video_out->close(stream->video_out, stream);
- }
- stream->video_out = new_port;
-@@ -773,7 +773,7 @@ static int open_internal (xine_stream_t
- _x_meta_info_set_utf8(stream, XINE_META_INFO_INPUT_PLUGIN,
- (stream->input_plugin->input_class->get_identifier (stream->input_plugin->input_class)));
-
-- res = stream->input_plugin->open(stream->input_plugin);
-+ res = (stream->input_plugin->open)(stream->input_plugin);
- switch(res) {
- case 1: /* Open successfull */
- free(input_source);
---- xine-lib-1.1.7/src/libreal/xine_real_audio_decoder.c~ 2007-04-17 04:00:50.000000000 +0300
-+++ xine-lib-1.1.7/src/libreal/xine_real_audio_decoder.c 2007-08-14 01:00:32.000000000 +0300
-@@ -339,7 +339,7 @@ static int init_codec (realdec_decoder_t
- return 0;
- }
-
-- this->stream->audio_out->open(this->stream->audio_out,
-+ (this->stream->audio_out->open)(this->stream->audio_out,
- this->stream,
- bits_per_sample,
- samples_per_sec,
---- xine-lib-1.1.7/src/libreal/xine_real_video_decoder.c~ 2007-04-17 04:00:50.000000000 +0300
-+++ xine-lib-1.1.7/src/libreal/xine_real_video_decoder.c 2007-08-14 00:54:52.000000000 +0300
-@@ -268,7 +268,7 @@ static int init_codec (realdec_decoder_t
- this->rvyuv_custom_message (&cmsg_data, this->context);
- }
-
-- this->stream->video_out->open(this->stream->video_out, this->stream);
-+ (this->stream->video_out->open)(this->stream->video_out, this->stream);
-
- this->frame_size = this->width * this->height;
- this->frame_buffer = xine_xmalloc (this->width * this->height * 3 / 2);
diff --git a/xine-lib.spec b/xine-lib.spec
index c0fe9b5..935e1d4 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -13,11 +13,16 @@
%else
%define have_vidix 0
%endif
+%if 0%{?fedora} >= 8
+%define with_xcb 1
+%else
+%define with_xcb 0
+%endif
Summary: Xine library
Name: xine-lib
-Version: 1.1.7
-Release: 3%{?dist}
+Version: 1.1.8
+Release: 1%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -30,13 +35,15 @@ Source2: %{name}-mk-autotools-patch.sh
# autotools patch created with source2
Patch0: %{name}-%{version}-autotools.patch.bz2
Patch1: %{name}-1.1.4-optflags.patch
-Patch2: %{name}-1.1.7-open.patch
Patch6: %{name}-1.1.1-deepbind-939.patch
Patch7: %{name}-1.1.5-multilib-devel.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
# X11
BuildRequires: libX11-devel libXv-devel libXinerama-devel libXvMC-devel
-BuildRequires: libGLU-devel libxcb-devel
+BuildRequires: libGLU-devel
+%if %{with_xcb}
+BuildRequires: libxcb-devel
+%endif
# Video
BuildRequires: SDL-devel libtheora-devel libmng-devel
BuildRequires: aalib-devel >= 1.4
@@ -114,7 +121,9 @@ This package contains extra plugins for xine-lib:
%if 0%{!?_without_directfb:1}
- DirectFB output
%endif
-
+%if %{with_xcb}
+ - XCB output
+%endif
%prep
@@ -124,7 +133,6 @@ touch -r configure.ac aclocal.m4
touch -r m4/optimizations.m4 m4/optimizations.m4.stamp
%patch1 -p1 -b .optflags
touch -r m4/optimizations.m4.stamp m4/optimizations.m4
-%patch2 -p1 -b .open
# Patch6 needed at least when compiling with external ffmpeg, #939.
%patch6 -p1 -b .deepbind
%patch7 -p0 -b .multilib-devel
@@ -321,8 +329,10 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xdirectfb.so
%endif
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_sdl.so
+%if %{with_xcb}
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xcbshm.so
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xcbxv.so
+%endif
%files devel
@@ -338,6 +348,10 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Thu Aug 30 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.8-1
+- 1.1.8, "open" patch applied upstream.
+- Build XCB plugins by default for Fedora 8+ only.
+
* Sat Aug 25 2007 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.7-3
- Split the aRts plugin into its own subpackage
commit 9a9a9d19dcbeffb89b346a4ade6973dd413c7c44
Author: Aurelien Bompard <abompard(a)fedoraproject.org>
Date: Sat Aug 25 21:23:05 2007 +0000
* Sat Aug 25 2007 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.7-3
- Split the aRts plugin into its own subpackage
diff --git a/xine-lib.spec b/xine-lib.spec
index ad54150..c0fe9b5 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -17,7 +17,7 @@
Summary: Xine library
Name: xine-lib
Version: 1.1.7
-Release: 2%{?dist}
+Release: 3%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -68,10 +68,16 @@ Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
Requires: pkgconfig zlib-devel
+%package arts
+Summary: aRts plugin for xine-lib
+Group: System Environment/Libraries
+Requires: %{name} = %{version}-%{release}
+
%package extras
Summary: Additional plugins for xine-lib
Group: System Environment/Libraries
Requires: %{name} = %{version}-%{release}
+Requires: %{name}-arts = %{version}-%{release}
%description
@@ -88,9 +94,11 @@ of the most uncommon formats, too. Non-default rpmbuild options:
%description devel
This package contains development files for xine-lib.
+%description arts
+This package contains the aRts extra plugin for xine-lib.
+
%description extras
This package contains extra plugins for xine-lib:
- - aRts
- EsounD
- JACK
- Pulseaudio
@@ -291,9 +299,12 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{version}/xineplug_wavpack.so
-%files extras
+%files arts
%defattr(-,root,root,-)
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_arts.so
+
+%files extras
+%defattr(-,root,root,-)
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_esd.so
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_jack.so
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_pulseaudio.so
@@ -327,6 +338,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Sat Aug 25 2007 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.7-3
+- Split the aRts plugin into its own subpackage
+
* Tue Aug 14 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.7-2
- Include XCB output plugins (in -extras at least for now).
- Protect "open" with glibc 2.6.90 and -D_FORTIFY_SOURCE=2.
commit 63f2faf8f27ad3a638cb3f730a010c179b76eac4
Author: Ville Skyttä <scop(a)fedoraproject.org>
Date: Tue Aug 21 10:19:07 2007 +0000
No PA move yet
diff --git a/xine-lib.spec b/xine-lib.spec
index fe240a0..ad54150 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -4,6 +4,8 @@
# http://www.redhat.com/archives/fedora-legal-list/2007-August/msg00011.html
# - move pulseaudio to main package from -extras?
# http://fedoraproject.org/wiki/Releases/FeaturePulseaudio
+# --> not yet:
+# http://www.redhat.com/archives/fedora-devel-list/2007-August/msg01411.html
%define codecdir %{_libdir}/codecs
%ifarch %{ix86}
commit 2b05f7403e9988366e6baf83b27a1648b8703582
Author: Ville Skyttä <scop(a)fedoraproject.org>
Date: Thu Aug 16 13:53:44 2007 +0000
Add Pulseaudio TODO item.
diff --git a/xine-lib.spec b/xine-lib.spec
index 0474184..fe240a0 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -1,8 +1,9 @@
# TODO, sometime, maybe:
# - libstk: http://www.libstk.net/ - probably not, see 1.1.5 ChangeLog
-
-# TODO: drop the opengl video out plugin?
-# http://www.redhat.com/archives/fedora-legal-list/2007-August/msg00011.html
+# - drop the opengl video out plugin?
+# http://www.redhat.com/archives/fedora-legal-list/2007-August/msg00011.html
+# - move pulseaudio to main package from -extras?
+# http://fedoraproject.org/wiki/Releases/FeaturePulseaudio
%define codecdir %{_libdir}/codecs
%ifarch %{ix86}
commit 25721fadffb5e10516e76763f259826ead7d2d1f
Author: Ville Skyttä <scop(a)fedoraproject.org>
Date: Tue Aug 14 11:59:58 2007 +0000
* Tue Aug 14 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.7-2
- Include XCB output plugins (in -extras at least for now).
- Protect "open" with glibc 2.6.90 and -D_FORTIFY_SOURCE=2.
- Clean up %configure options.
- License: GPLv2+
diff --git a/xine-lib-1.1.7-open.patch b/xine-lib-1.1.7-open.patch
new file mode 100644
index 0000000..e3d7a6a
--- /dev/null
+++ b/xine-lib-1.1.7-open.patch
@@ -0,0 +1,101 @@
+--- xine-lib-1.1.7/src/libxinevdec/image.c~ 2007-04-15 20:42:16.000000000 +0300
++++ xine-lib-1.1.7/src/libxinevdec/image.c 2007-08-14 00:40:05.000000000 +0300
+@@ -81,7 +81,7 @@ static void image_decode_data (video_dec
+
+ if (!this->video_open) {
+ lprintf("opening video\n");
+- this->stream->video_out->open(this->stream->video_out, this->stream);
++ (this->stream->video_out->open)(this->stream->video_out, this->stream);
+ this->video_open = 1;
+ }
+
+--- xine-lib-1.1.7/src/libxinevdec/gdkpixbuf.c~ 2007-04-15 20:42:16.000000000 +0300
++++ xine-lib-1.1.7/src/libxinevdec/gdkpixbuf.c 2007-08-14 00:45:36.000000000 +0300
+@@ -74,7 +74,7 @@ static void image_decode_data (video_dec
+
+ if (!this->video_open) {
+ lprintf("opening video\n");
+- this->stream->video_out->open(this->stream->video_out, this->stream);
++ (this->stream->video_out->open)(this->stream->video_out, this->stream);
+ this->video_open = 1;
+ }
+
+--- xine-lib-1.1.7/src/libxineadec/xine_lpcm_decoder.c~ 2007-04-17 04:00:50.000000000 +0300
++++ xine-lib-1.1.7/src/libxineadec/xine_lpcm_decoder.c 2007-08-14 00:50:49.000000000 +0300
+@@ -134,12 +134,12 @@ static void lpcm_decode_data (audio_deco
+
+ /* force 24-bit samples into 16 bits for now */
+ if (this->bits_per_sample == 24)
+- this->output_open = this->stream->audio_out->open (this->stream->audio_out, this->stream,
++ this->output_open = (this->stream->audio_out->open) (this->stream->audio_out, this->stream,
+ 16,
+ this->rate,
+ this->ao_cap_mode) ;
+ else
+- this->output_open = this->stream->audio_out->open (this->stream->audio_out, this->stream,
++ this->output_open = (this->stream->audio_out->open) (this->stream->audio_out, this->stream,
+ this->bits_per_sample,
+ this->rate,
+ this->ao_cap_mode) ;
+--- xine-lib-1.1.7/src/xine-engine/audio_out.c~ 2007-06-05 00:37:38.000000000 +0300
++++ xine-lib-1.1.7/src/xine-engine/audio_out.c 2007-08-14 00:34:30.000000000 +0300
+@@ -1401,7 +1401,7 @@ static int ao_change_settings(aos_t *thi
+ _("stereo not supported by driver, converting to mono.\n"));
+ }
+
+- output_sample_rate=this->driver->open(this->driver,bits,(this->force_rate ? this->force_rate : rate),mode);
++ output_sample_rate=(this->driver->open)(this->driver,bits,(this->force_rate ? this->force_rate : rate),mode);
+ } else
+ output_sample_rate = this->input.rate;
+
+--- xine-lib-1.1.7/src/xine-engine/xine.c~ 2007-05-06 17:20:54.000000000 +0300
++++ xine-lib-1.1.7/src/xine-engine/xine.c 2007-08-14 00:26:30.000000000 +0300
+@@ -462,7 +462,7 @@ static int stream_rewire_audio(xine_post
+
+ if (stream->audio_out->status(stream->audio_out, stream, &bits, &rate, &mode)) {
+ /* register our stream at the new output port */
+- new_port->open(new_port, stream, bits, rate, mode);
++ (new_port->open)(new_port, stream, bits, rate, mode);
+ stream->audio_out->close(stream->audio_out, stream);
+ }
+ stream->audio_out = new_port;
+@@ -486,7 +486,7 @@ static int stream_rewire_video(xine_post
+
+ if (stream->video_out->status(stream->video_out, stream, &width, &height, &img_duration)) {
+ /* register our stream at the new output port */
+- new_port->open(new_port, stream);
++ (new_port->open)(new_port, stream);
+ stream->video_out->close(stream->video_out, stream);
+ }
+ stream->video_out = new_port;
+@@ -773,7 +773,7 @@ static int open_internal (xine_stream_t
+ _x_meta_info_set_utf8(stream, XINE_META_INFO_INPUT_PLUGIN,
+ (stream->input_plugin->input_class->get_identifier (stream->input_plugin->input_class)));
+
+- res = stream->input_plugin->open(stream->input_plugin);
++ res = (stream->input_plugin->open)(stream->input_plugin);
+ switch(res) {
+ case 1: /* Open successfull */
+ free(input_source);
+--- xine-lib-1.1.7/src/libreal/xine_real_audio_decoder.c~ 2007-04-17 04:00:50.000000000 +0300
++++ xine-lib-1.1.7/src/libreal/xine_real_audio_decoder.c 2007-08-14 01:00:32.000000000 +0300
+@@ -339,7 +339,7 @@ static int init_codec (realdec_decoder_t
+ return 0;
+ }
+
+- this->stream->audio_out->open(this->stream->audio_out,
++ (this->stream->audio_out->open)(this->stream->audio_out,
+ this->stream,
+ bits_per_sample,
+ samples_per_sec,
+--- xine-lib-1.1.7/src/libreal/xine_real_video_decoder.c~ 2007-04-17 04:00:50.000000000 +0300
++++ xine-lib-1.1.7/src/libreal/xine_real_video_decoder.c 2007-08-14 00:54:52.000000000 +0300
+@@ -268,7 +268,7 @@ static int init_codec (realdec_decoder_t
+ this->rvyuv_custom_message (&cmsg_data, this->context);
+ }
+
+- this->stream->video_out->open(this->stream->video_out, this->stream);
++ (this->stream->video_out->open)(this->stream->video_out, this->stream);
+
+ this->frame_size = this->width * this->height;
+ this->frame_buffer = xine_xmalloc (this->width * this->height * 3 / 2);
diff --git a/xine-lib.spec b/xine-lib.spec
index 8aa1cae..0474184 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -1,6 +1,8 @@
# TODO, sometime, maybe:
# - libstk: http://www.libstk.net/ - probably not, see 1.1.5 ChangeLog
-# - xcb stuff when it's available
+
+# TODO: drop the opengl video out plugin?
+# http://www.redhat.com/archives/fedora-legal-list/2007-August/msg00011.html
%define codecdir %{_libdir}/codecs
%ifarch %{ix86}
@@ -12,8 +14,8 @@
Summary: Xine library
Name: xine-lib
Version: 1.1.7
-Release: 1%{?dist}
-License: GPL
+Release: 2%{?dist}
+License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
# The tarball is generated from the upstream tarball using
@@ -25,11 +27,13 @@ Source2: %{name}-mk-autotools-patch.sh
# autotools patch created with source2
Patch0: %{name}-%{version}-autotools.patch.bz2
Patch1: %{name}-1.1.4-optflags.patch
+Patch2: %{name}-1.1.7-open.patch
Patch6: %{name}-1.1.1-deepbind-939.patch
Patch7: %{name}-1.1.5-multilib-devel.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
# X11
-BuildRequires: libX11-devel libXv-devel libXinerama-devel libXvMC-devel libGLU-devel
+BuildRequires: libX11-devel libXv-devel libXinerama-devel libXvMC-devel
+BuildRequires: libGLU-devel libxcb-devel
# Video
BuildRequires: SDL-devel libtheora-devel libmng-devel
BuildRequires: aalib-devel >= 1.4
@@ -109,6 +113,7 @@ touch -r configure.ac aclocal.m4
touch -r m4/optimizations.m4 m4/optimizations.m4.stamp
%patch1 -p1 -b .optflags
touch -r m4/optimizations.m4.stamp m4/optimizations.m4
+%patch2 -p1 -b .open
# Patch6 needed at least when compiling with external ffmpeg, #939.
%patch6 -p1 -b .deepbind
%patch7 -p0 -b .multilib-devel
@@ -121,36 +126,37 @@ sed -i -e 's|"/lib /usr/lib\b|"/%{_lib} %{_libdir}|' configure
export FFMPEG_CFLAGS=" " FFMPEG_LIBS=" "
export FFMPEG_POSTPROC_CFLAGS=" " FFMPEG_POSTPROC_LIBS=" "
export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)"
-%configure --disable-dependency-tracking \
- --with-xv-path=%{_libdir} \
- --with-w32-path=%{codecdir} \
- --with-real-codecs-path=%{codecdir} \
- --with-external-ffmpeg \
- --with-external-libmpcdec \
- --with-libflac \
- --with-wavpack \
- --with-arts \
+# Keep list of options in mostly the same order as ./configure --help.
+%configure \
+ --disable-dependency-tracking \
--enable-ipv6 \
%if 0%{!?_without_directfb:1}
--enable-directfb \
-%endif
-%if 0%{?_without_imagemagick:1}
- --without-imagemagick \
-%endif
+%endif # directfb
+ --disable-a52dec \
+ --disable-mad \
+ --disable-dvdnavtest --with-external-dvdnav \
+ --disable-vcd \
+ --disable-asf \
+ --disable-faad \
%if 0%{?_with_freetype:1}
- --with-freetype \
- --with-fontconfig \
%if 0%{?_with_antialiasing:1}
--enable-antialiasing \
-%endif
-%endif
- --disable-libfame \
- --disable-faad \
- --disable-mad \
- --disable-asf \
- --disable-vcd \
- --disable-a52dec \
- --with-external-dvdnav --disable-dvdnavtest
+%endif # antialiasing
+ --with-freetype \
+ --with-fontconfig \
+%endif # freetype
+ --with-external-ffmpeg \
+ --with-xv-path=%{_libdir} \
+ --with-libflac \
+ --with-external-libmpcdec \
+%if 0%{?_without_imagemagick:1}
+ --without-imagemagick \
+%endif # imagemagick
+ --with-arts \
+ --with-wavpack \
+ --with-real-codecs-path=%{codecdir} \
+ --with-w32-path=%{codecdir}
make %{?_smp_mflags}
@@ -301,6 +307,8 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xdirectfb.so
%endif
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_sdl.so
+%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xcbshm.so
+%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xcbxv.so
%files devel
@@ -316,6 +324,12 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Tue Aug 14 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.7-2
+- Include XCB output plugins (in -extras at least for now).
+- Protect "open" with glibc 2.6.90 and -D_FORTIFY_SOURCE=2.
+- Clean up %%configure options.
+- License: GPLv2+
+
* Thu Jun 7 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.7-1
- 1.1.7.
commit 0fc6f1617779242a7ad2bd6fd2c9b75610551055
Author: Ville Skyttä <scop(a)fedoraproject.org>
Date: Thu Jun 7 20:40:52 2007 +0000
* Thu Jun 7 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.7-1
- 1.1.7.
diff --git a/.cvsignore b/.cvsignore
index 1a3b46f..e98b803 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -1,2 +1,2 @@
-xine-lib-1.1.6-pruned.tar.bz2
-xine-lib-1.1.6-autotools.patch.bz2
+xine-lib-1.1.7-pruned.tar.bz2
+xine-lib-1.1.7-autotools.patch.bz2
diff --git a/sources b/sources
index 0470388..4131b00 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-3869f0045311b3638c5724cd1ac122e9 xine-lib-1.1.6-pruned.tar.bz2
-25742f2347a1d9c4c08476c82f3ec5fc xine-lib-1.1.6-autotools.patch.bz2
+8f0714de28dab403288bbccf1a8c30c2 xine-lib-1.1.7-pruned.tar.bz2
+6b7f1d168b8b367a8c7709db687c60f6 xine-lib-1.1.7-autotools.patch.bz2
diff --git a/xine-lib.spec b/xine-lib.spec
index 9b6afd7..8aa1cae 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -11,8 +11,8 @@
Summary: Xine library
Name: xine-lib
-Version: 1.1.6
-Release: 3%{?dist}
+Version: 1.1.7
+Release: 1%{?dist}
License: GPL
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -129,6 +129,7 @@ export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)"
--with-external-libmpcdec \
--with-libflac \
--with-wavpack \
+ --with-arts \
--enable-ipv6 \
%if 0%{!?_without_directfb:1}
--enable-directfb \
@@ -315,7 +316,10 @@ rm -rf $RPM_BUILD_ROOT
%changelog
-* Wed Jun 06 2007 Rex Dieter <rdieter[AT]fedoaproject.org> - 1.1.6-3
+* Thu Jun 7 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.7-1
+- 1.1.7.
+
+* Wed Jun 06 2007 Rex Dieter <rdieter[AT]fedoraproject.org> - 1.1.6-3
- respin (for libmpcdec)
* Wed Apr 25 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.6-2
commit 2cbdd03d78adbba875d4d419f78af85e6a8d0184
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Wed Jun 6 16:23:53 2007 +0000
* Wed Jun 06 2007 Rex Dieter <rdieter[AT]fedoaproject.org> - 1.1.6-3
- respin (for libmpcdec)
diff --git a/xine-lib.spec b/xine-lib.spec
index f2a41cb..9b6afd7 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -12,7 +12,7 @@
Summary: Xine library
Name: xine-lib
Version: 1.1.6
-Release: 2%{?dist}
+Release: 3%{?dist}
License: GPL
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -315,6 +315,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Wed Jun 06 2007 Rex Dieter <rdieter[AT]fedoaproject.org> - 1.1.6-3
+- respin (for libmpcdec)
+
* Wed Apr 25 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.6-2
- Make Real codec search path /usr/lib(64)/codecs again (#237743).
commit 4ff7d1bbce5e644fdff73373daed4a729f71ec65
Author: Ville Skyttä <scop(a)fedoraproject.org>
Date: Wed Apr 25 17:45:04 2007 +0000
* Wed Apr 25 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.6-2
- Make Real codec search path /usr/lib(64)/codecs again (#237743).
diff --git a/xine-lib.spec b/xine-lib.spec
index 6c822ce..f2a41cb 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -12,7 +12,7 @@
Summary: Xine library
Name: xine-lib
Version: 1.1.6
-Release: 1%{?dist}
+Release: 2%{?dist}
License: GPL
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -124,6 +124,7 @@ export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)"
%configure --disable-dependency-tracking \
--with-xv-path=%{_libdir} \
--with-w32-path=%{codecdir} \
+ --with-real-codecs-path=%{codecdir} \
--with-external-ffmpeg \
--with-external-libmpcdec \
--with-libflac \
@@ -182,8 +183,8 @@ rm -rf $RPM_BUILD_ROOT
%defattr(-,root,root,-)
%doc AUTHORS COPYING COPYING.LIB CREDITS ChangeLog* README TODO
%doc __docs/README.* __docs/faq.*
-%dir %{codecdir}
-%{_datadir}/xine
+%dir %{codecdir}/
+%{_datadir}/xine/
%{_libdir}/libxine.so.*
%{_mandir}/man5/xine.5*
%dir %{_libdir}/xine/
@@ -314,6 +315,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Wed Apr 25 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.6-2
+- Make Real codec search path /usr/lib(64)/codecs again (#237743).
+
* Wed Apr 18 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.6-1
- 1.1.6.
commit 11a6980ba9d63b5dba2d445ad796531a35d32104
Author: Ville Skyttä <scop(a)fedoraproject.org>
Date: Wed Apr 18 17:57:19 2007 +0000
* Wed Apr 18 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.6-1
- 1.1.6.
diff --git a/.cvsignore b/.cvsignore
index 41883b2..1a3b46f 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -1,2 +1,2 @@
-xine-lib-1.1.5-pruned.tar.bz2
-xine-lib-1.1.5-autotools.patch.bz2
+xine-lib-1.1.6-pruned.tar.bz2
+xine-lib-1.1.6-autotools.patch.bz2
diff --git a/sources b/sources
index f2e30be..0470388 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-f903a0426a812ea70200b7a528f67b00 xine-lib-1.1.5-pruned.tar.bz2
-f955ece2fba4dfbbf22fbb2a8376ae60 xine-lib-1.1.5-autotools.patch.bz2
+3869f0045311b3638c5724cd1ac122e9 xine-lib-1.1.6-pruned.tar.bz2
+25742f2347a1d9c4c08476c82f3ec5fc xine-lib-1.1.6-autotools.patch.bz2
diff --git a/xine-lib-1.1.5-pthread-check.patch b/xine-lib-1.1.5-pthread-check.patch
deleted file mode 100644
index 9a6a974..0000000
--- a/xine-lib-1.1.5-pthread-check.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-Upstream changeset 8743:defc4f072bde + additional fix in fakethread().
-
-diff -r d1512848e87b -r defc4f072bde m4/pthreads.m4
---- a/m4/pthreads.m4 Tue Apr 10 17:08:22 2007 +0100
-+++ b/m4/pthreads.m4 Wed Apr 11 17:32:13 2007 +0200
-@@ -36,11 +36,15 @@ AC_DEFUN([CC_PTHREAD_FLAGS], [
- [ac_save_CFLAGS="$CFLAGS"
- ac_save_LIBS="$LIBS"
- CFLAGS="$CFLAGS $cc_cv_werror $PTHREAD_CFLAGS"
-+
- LIBS="$LIBS $PTHREAD_LIBS"
-- AC_COMPILE_IFELSE(
-+ AC_LINK_IFELSE(
- [AC_LANG_PROGRAM(
-- [[#include <pthread.h>]],
-- [[pthread_create(NULL, NULL, NULL, NULL);]]
-+ [[#include <pthread.h>
-+ void *fakethread(void *arg) { return NULL; }
-+ pthread_t fakevariable;
-+ ]],
-+ [[pthread_create(&fakevariable, NULL, &fakethread, NULL);]]
- )],
- [cc_cv_pthreads=yes],
- [cc_cv_pthreads=no])
diff --git a/xine-lib-mk-autotools-patch.sh b/xine-lib-mk-autotools-patch.sh
index 4166b06..93590b4 100644
--- a/xine-lib-mk-autotools-patch.sh
+++ b/xine-lib-mk-autotools-patch.sh
@@ -23,7 +23,6 @@ tar jxf xine-lib-$version-pruned.tar.bz2
cp -a xine-lib-$version xine-lib-$version-pruned
cd xine-lib-$version
-patch -p1 < ../xine-lib-$version-pthread-check.patch # XXX hopefully temporary
./autogen.sh noconfig
rm -rf autom4te.cache *~
cd ..
diff --git a/xine-lib.spec b/xine-lib.spec
index 0dcdc74..6c822ce 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -11,7 +11,7 @@
Summary: Xine library
Name: xine-lib
-Version: 1.1.5
+Version: 1.1.6
Release: 1%{?dist}
License: GPL
Group: System Environment/Libraries
@@ -23,10 +23,8 @@ Source0: %{name}-%{version}-pruned.tar.bz2
Source1: %{name}-cleanup-sources.sh
Source2: %{name}-mk-autotools-patch.sh
# autotools patch created with source2
-Patch0: %{name}-1.1.5-autotools.patch.bz2
+Patch0: %{name}-%{version}-autotools.patch.bz2
Patch1: %{name}-1.1.4-optflags.patch
-# Patch2 applied while creating full autotools patch
-Patch2: %{name}-1.1.5-pthread-check.patch
Patch6: %{name}-1.1.1-deepbind-939.patch
Patch7: %{name}-1.1.5-multilib-devel.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@@ -298,6 +296,7 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_caca.so
%if 0%{!?_without_directfb:1}
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_directfb.so
+%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xdirectfb.so
%endif
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_sdl.so
@@ -315,6 +314,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Wed Apr 18 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.6-1
+- 1.1.6.
+
* Wed Apr 11 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.5-1
- 1.1.5.
- Include GSM 06.10 decoder (#228186).
commit 3d651b1200ac692a613769ee8af558cbaebb7619
Author: Ville Skyttä <scop(a)fedoraproject.org>
Date: Wed Apr 11 21:36:29 2007 +0000
* Wed Apr 11 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.5-1
- 1.1.5.
- Include GSM 06.10 decoder (#228186).
- Re-enable CACA support.
diff --git a/.cvsignore b/.cvsignore
index aea6ec7..41883b2 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -1,2 +1,2 @@
-xine-lib-1.1.4-pruned.tar.bz2
-xine-lib-1.1.4-autotools.patch.bz2
+xine-lib-1.1.5-pruned.tar.bz2
+xine-lib-1.1.5-autotools.patch.bz2
diff --git a/sources b/sources
index 2a4625c..f2e30be 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-81faabf1e38abed44639dbe4c76719f9 xine-lib-1.1.4-pruned.tar.bz2
-a916758545ed73a369f40648c7bc449c xine-lib-1.1.4-autotools.patch.bz2
+f903a0426a812ea70200b7a528f67b00 xine-lib-1.1.5-pruned.tar.bz2
+f955ece2fba4dfbbf22fbb2a8376ae60 xine-lib-1.1.5-autotools.patch.bz2
diff --git a/xine-lib-1.1.3-legacy-flac-init.patch b/xine-lib-1.1.3-legacy-flac-init.patch
deleted file mode 100644
index ba1cdb7..0000000
--- a/xine-lib-1.1.3-legacy-flac-init.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Index: src/libflac/decoder_flac.c
-===================================================================
-RCS file: /cvsroot/xine/xine-lib/src/libflac/decoder_flac.c,v
-retrieving revision 1.22
-diff -u -r1.22 decoder_flac.c
---- src/libflac/decoder_flac.c 25 Dec 2006 19:22:00 -0000 1.22
-+++ src/libflac/decoder_flac.c 3 Jan 2007 19:58:07 -0000
-@@ -363,7 +363,7 @@
-
- FLAC__stream_decoder_set_client_data (this->flac_decoder, this);
-
-- if (FLAC__stream_decoder_init (this->flac_decoder) == FLAC__STREAM_DECODER_SEARCH_FOR_METADATA) {
-+ if (FLAC__stream_decoder_init (this->flac_decoder) != FLAC__STREAM_DECODER_SEARCH_FOR_METADATA) {
- free (this);
- return NULL;
- }
diff --git a/xine-lib-1.1.4-CVE-2007-1246.patch b/xine-lib-1.1.4-CVE-2007-1246.patch
deleted file mode 100644
index c7fec5d..0000000
--- a/xine-lib-1.1.4-CVE-2007-1246.patch
+++ /dev/null
@@ -1,40 +0,0 @@
----------------------
-PatchSet 8656
-Date: 2007/03/10 02:41:34
-Author: dgp85
-Branch: HEAD
-Tag: (none)
-Log:
- * Security fixes:
- - Fix heap overflow in DMO loader. (CVE-2007-1246) [bug #1676925]
- Thanks to Kees Cook for reporting.
-
-Members:
- ChangeLog:1.724->1.725
- src/libw32dll/DirectShow/DS_VideoDecoder.c:1.9->1.10
- src/libw32dll/dmo/DMO_VideoDecoder.c:1.4->1.5
-
-Index: xine-lib/src/libw32dll/DirectShow/DS_VideoDecoder.c
-diff -u xine-lib/src/libw32dll/DirectShow/DS_VideoDecoder.c:1.9 xine-lib/src/libw32dll/DirectShow/DS_VideoDecoder.c:1.10
---- xine-lib/src/libw32dll/DirectShow/DS_VideoDecoder.c:1.9 Wed Dec 24 16:55:36 2003
-+++ xine-lib/src/libw32dll/DirectShow/DS_VideoDecoder.c Sat Mar 10 00:41:34 2007
-@@ -110,6 +110,7 @@
-
- this->iv.m_bh = (BITMAPINFOHEADER*)malloc(bihs);
- memcpy(this->iv.m_bh, format, bihs);
-+ this->iv.m_bh->biSize = bihs;
-
- this->iv.m_State = STOP;
- //this->iv.m_pFrame = 0;
-Index: xine-lib/src/libw32dll/dmo/DMO_VideoDecoder.c
-diff -u xine-lib/src/libw32dll/dmo/DMO_VideoDecoder.c:1.4 xine-lib/src/libw32dll/dmo/DMO_VideoDecoder.c:1.5
---- xine-lib/src/libw32dll/dmo/DMO_VideoDecoder.c:1.4 Wed Dec 24 16:55:36 2003
-+++ xine-lib/src/libw32dll/dmo/DMO_VideoDecoder.c Sat Mar 10 00:41:34 2007
-@@ -118,6 +118,7 @@
-
- this->iv.m_bh = (BITMAPINFOHEADER*)malloc(bihs);
- memcpy(this->iv.m_bh, format, bihs);
-+ this->iv.m_bh->biSize = bihs;
-
- this->iv.m_State = STOP;
- //this->iv.m_pFrame = 0;
diff --git a/xine-lib-1.1.4-ftfree.patch b/xine-lib-1.1.4-ftfree.patch
deleted file mode 100644
index e8e7cd0..0000000
--- a/xine-lib-1.1.4-ftfree.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- src/xine-engine/osd.c 2007/02/20 00:34:58 1.84
-+++ src/xine-engine/osd.c 2007/03/03 22:59:37 1.86
-@@ -1481,7 +1481,16 @@
- while( osd ) {
- if ( osd == osd_to_close ) {
- free( osd->area );
-- if( osd->ft2 ) free( osd->ft2 );
-+
-+#ifdef HAVE_FT2
-+ if( osd->ft2 ) {
-+ if ( osd->ft2->library )
-+ FT_Done_FreeType(osd->ft2->library);
-+
-+ free( osd->ft2 );
-+ }
-+#endif
-+
- osd_free_encoding(osd);
-
- if( last )
diff --git a/xine-lib-1.1.1-multilib-devel.patch b/xine-lib-1.1.5-multilib-devel.patch
similarity index 77%
rename from xine-lib-1.1.1-multilib-devel.patch
rename to xine-lib-1.1.5-multilib-devel.patch
index ff0c549..5b5d05d 100644
--- a/xine-lib-1.1.1-multilib-devel.patch
+++ b/xine-lib-1.1.5-multilib-devel.patch
@@ -1,5 +1,5 @@
---- misc/xine-config.in~ 2005-09-05 20:02:57.000000000 +0300
-+++ misc/xine-config.in 2006-06-13 01:43:55.000000000 +0300
+--- misc/xine-config.in~ 2007-04-05 01:18:00.000000000 +0300
++++ misc/xine-config.in 2007-04-11 01:32:44.000000000 +0300
@@ -2,8 +2,8 @@
#
#
@@ -24,12 +24,12 @@
fi
if test "$echo_cflags" = "yes"; then
-- echo -I@includedir@ @THREAD_CPPFLAGS@
+- echo -I@includedir@ @PTHREAD_CFLAGS@
+ pkg-config libxine --cflags
fi
if test "$echo_libs" = "yes"; then
-- echo -L@libdir@ -lxine @ZLIB_LIBS@ @NET_LIBS@ @THREAD_LIBS@ @LIBICONV@ @RT_LIBS@
+- echo -L@libdir@ -lxine @ZLIB_LIBS@ @NET_LIBS@ @PTHREAD_LIBS@ @LIBICONV@ @RT_LIBS@
+ pkg-config libxine --libs
fi
if test "$echo_plugindir" = "yes"; then
diff --git a/xine-lib-1.1.5-pthread-check.patch b/xine-lib-1.1.5-pthread-check.patch
new file mode 100644
index 0000000..9a6a974
--- /dev/null
+++ b/xine-lib-1.1.5-pthread-check.patch
@@ -0,0 +1,24 @@
+Upstream changeset 8743:defc4f072bde + additional fix in fakethread().
+
+diff -r d1512848e87b -r defc4f072bde m4/pthreads.m4
+--- a/m4/pthreads.m4 Tue Apr 10 17:08:22 2007 +0100
++++ b/m4/pthreads.m4 Wed Apr 11 17:32:13 2007 +0200
+@@ -36,11 +36,15 @@ AC_DEFUN([CC_PTHREAD_FLAGS], [
+ [ac_save_CFLAGS="$CFLAGS"
+ ac_save_LIBS="$LIBS"
+ CFLAGS="$CFLAGS $cc_cv_werror $PTHREAD_CFLAGS"
++
+ LIBS="$LIBS $PTHREAD_LIBS"
+- AC_COMPILE_IFELSE(
++ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+- [[#include <pthread.h>]],
+- [[pthread_create(NULL, NULL, NULL, NULL);]]
++ [[#include <pthread.h>
++ void *fakethread(void *arg) { return NULL; }
++ pthread_t fakevariable;
++ ]],
++ [[pthread_create(&fakevariable, NULL, &fakethread, NULL);]]
+ )],
+ [cc_cv_pthreads=yes],
+ [cc_cv_pthreads=no])
diff --git a/xine-lib-cleanup-sources.sh b/xine-lib-cleanup-sources.sh
index 9cd32fd..0a240f2 100755
--- a/xine-lib-cleanup-sources.sh
+++ b/xine-lib-cleanup-sources.sh
@@ -22,7 +22,7 @@ tar -xjf $tarball
cd $dir
# Main libraries
-for remove in libfaad libffmpeg libmad libmpeg2 dxr3 libspudec libxineadec libspucmml libspucc liba52 libdts; do
+for remove in libfaad libffmpeg libmad libmpeg2 dxr3 libspudec libspucmml libspucc liba52 libdts; do
echo "removing src/$remove..."
rm -rf src/$remove
sed -i -e "/$remove/d" src/Makefile.am
@@ -53,8 +53,20 @@ for p in mpeg mpeg_block mpeg_ts mpeg_elem mpeg_pes yuv4mpeg2; do
[ -f src/demuxers/demux_$p.c ] && rm -f src/demuxers/demux_$p.c
sed -i -e "/xineplug_dmx_$p/d" src/demuxers/Makefile.am
done
+# Postprocessors
echo "removing planar and deinterlace postprocessors..."
-sed -i -e 's/planar//g;s/deinterlace//g' src/post/Makefile.am # fails to build
+sed -i -e 's/deinterlace //g' src/post/Makefile.am # see comments in speedy.c
+sed -i -e 's/planar //g' src/post/Makefile.am # requires libpostproc
+sed -i -e '/post\/\(deinterlace\|planar\)/d' configure.ac
+rm -rf src/post/{deinterlace,planar}
+# NSF decoder
+echo "removing NSF decoder..."
+rm -rf src/libxineadec/{nosefart,nsf.c}
+sed -i -e '/^xineplug_decode_nsf_la/,/^\s*$/d' \
+ -e /xineplug_decode_nsf/d \
+ -e 's/ nosefart//' \
+ src/libxineadec/Makefile.am
+sed -i -e /nosefart/d configure.ac
# All clean !
diff --git a/xine-lib-mk-autotools-patch.sh b/xine-lib-mk-autotools-patch.sh
index 88db99c..4166b06 100644
--- a/xine-lib-mk-autotools-patch.sh
+++ b/xine-lib-mk-autotools-patch.sh
@@ -11,11 +11,19 @@ fi
version=$1
+# missing dependency on autoconf >= (apparently) 2.61 in upstream autofoo files
+acversion="$(rpm -q --qf=%{VERSION} autoconf)"
+case $acversion in
+ 2.6*) ;;
+ *) echo "ERROR: autoconf >= 2.61 required" ; exit 1 ;;
+esac
+
rm -rf xine-lib-$version xine-lib-$version-pruned
tar jxf xine-lib-$version-pruned.tar.bz2
cp -a xine-lib-$version xine-lib-$version-pruned
cd xine-lib-$version
+patch -p1 < ../xine-lib-$version-pthread-check.patch # XXX hopefully temporary
./autogen.sh noconfig
rm -rf autom4te.cache *~
cd ..
diff --git a/xine-lib.spec b/xine-lib.spec
index 4530cdb..0dcdc74 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -1,5 +1,6 @@
# TODO, sometime, maybe:
-# - libstk: http://www.libstk.net/
+# - libstk: http://www.libstk.net/ - probably not, see 1.1.5 ChangeLog
+# - xcb stuff when it's available
%define codecdir %{_libdir}/codecs
%ifarch %{ix86}
@@ -10,8 +11,8 @@
Summary: Xine library
Name: xine-lib
-Version: 1.1.4
-Release: 4%{?dist}
+Version: 1.1.5
+Release: 1%{?dist}
License: GPL
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -22,22 +23,19 @@ Source0: %{name}-%{version}-pruned.tar.bz2
Source1: %{name}-cleanup-sources.sh
Source2: %{name}-mk-autotools-patch.sh
# autotools patch created with source2
-Patch0: %{name}-1.1.4-autotools.patch.bz2
+Patch0: %{name}-1.1.5-autotools.patch.bz2
Patch1: %{name}-1.1.4-optflags.patch
-Patch2: %{name}-1.1.4-CVE-2007-1246.patch
-Patch3: %{name}-1.1.3-legacy-flac-init.patch
-Patch4: %{name}-1.1.4-ftfree.patch
+# Patch2 applied while creating full autotools patch
+Patch2: %{name}-1.1.5-pthread-check.patch
Patch6: %{name}-1.1.1-deepbind-939.patch
-Patch7: %{name}-1.1.1-multilib-devel.patch
+Patch7: %{name}-1.1.5-multilib-devel.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
# X11
BuildRequires: libX11-devel libXv-devel libXinerama-devel libXvMC-devel libGLU-devel
# Video
BuildRequires: SDL-devel libtheora-devel libmng-devel
BuildRequires: aalib-devel >= 1.4
-%if 0%{?_with_caca:1}
BuildRequires: libcaca-devel >= 0.99
-%endif
%if 0%{!?_without_directfb:1}
BuildRequires: directfb-devel
%endif
@@ -79,7 +77,6 @@ interprets many of the most common multimedia formats available - and some
of the most uncommon formats, too. Non-default rpmbuild options:
--without imagemagick: Disable ImageMagick support
--without directfb: Disable DirectFB support
---with caca: Enable CACA support
--with freetype: Enable FreeType/Fontconfig support
--with antialiasing: Enable font antialiasing (with FreeType/FontConfig)
@@ -97,9 +94,7 @@ This package contains extra plugins for xine-lib:
- SMB
- SDL
- AA-lib
-%if 0%{?_with_caca:1}
- Libcaca
-%endif
%if 0%{!?_without_imagemagick:1}
- Image decoding
%endif
@@ -115,16 +110,11 @@ This package contains extra plugins for xine-lib:
touch -r configure.ac aclocal.m4
touch -r m4/optimizations.m4 m4/optimizations.m4.stamp
%patch1 -p1 -b .optflags
-%patch2 -p1 -b .CVE-2007-1246
touch -r m4/optimizations.m4.stamp m4/optimizations.m4
-%patch3 -p0 -b .legacy-flac-init
-%patch4 -p0 -b .ftfree
# Patch6 needed at least when compiling with external ffmpeg, #939.
%patch6 -p1 -b .deepbind
%patch7 -p0 -b .multilib-devel
-find . -name "*.[hc]" | xargs chmod -c -x
-
# Avoid standard rpaths on lib64 archs:
sed -i -e 's|"/lib /usr/lib\b|"/%{_lib} %{_libdir}|' configure
@@ -147,9 +137,6 @@ export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)"
%if 0%{?_without_imagemagick:1}
--without-imagemagick \
%endif
-%if 0%{!?_with_caca:1}
- --without-caca \
-%endif
%if 0%{?_with_freetype:1}
--with-freetype \
--with-fontconfig \
@@ -195,7 +182,7 @@ rm -rf $RPM_BUILD_ROOT
%files -f libxine1.lang
%defattr(-,root,root,-)
-%doc AUTHORS COPYING CREDITS ChangeLog* README TODO
+%doc AUTHORS COPYING COPYING.LIB CREDITS ChangeLog* README TODO
%doc __docs/README.* __docs/faq.*
%dir %{codecdir}
%{_datadir}/xine
@@ -204,6 +191,7 @@ rm -rf $RPM_BUILD_ROOT
%dir %{_libdir}/xine/
%dir %{_libdir}/xine/plugins/
%dir %{_libdir}/xine/plugins/%{version}/
+%{_libdir}/xine/plugins/%{version}/mime.types
# Listing every plugin separately for better control over binary packages
# containing exactly the plugins we want, nothing accidentally snuck in
# nor dropped.
@@ -233,13 +221,13 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_none.so
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_oss.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_bitplane.so
+%{_libdir}/xine/plugins/%{version}/xineplug_decode_gsm610.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_lpcm.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_mpc.so
%ifarch %ix86
%{_libdir}/xine/plugins/%{version}/xineplug_decode_qt.so
%endif
%{_libdir}/xine/plugins/%{version}/xineplug_decode_real.so
-%{_libdir}/xine/plugins/%{version}/xineplug_decode_real_audio.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_rgb.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_speex.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_spudvb.so
@@ -307,9 +295,7 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{version}/xineplug_inp_gnome_vfs.so
%{_libdir}/xine/plugins/%{version}/xineplug_inp_smb.so
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_aa.so
-%if 0%{?_with_caca:1}
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_caca.so
-%endif
%if 0%{!?_without_directfb:1}
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_directfb.so
%endif
@@ -329,6 +315,11 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Wed Apr 11 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.5-1
+- 1.1.5.
+- Include GSM 06.10 decoder (#228186).
+- Re-enable CACA support.
+
* Sun Apr 8 2007 Ville Skyttä <ville.skytta at iki.fi>
- Exclude vidix dir on systems that don't have vidix.
- Specfile cleanups.
commit 8a1dd4f6d7128d5767395cff668816f6cf4aaf1c
Author: Ville Skyttä <scop(a)fedoraproject.org>
Date: Sun Apr 8 18:09:47 2007 +0000
Order/expand all plugins in %files, don't ship empty vidix dir.
diff --git a/xine-lib.spec b/xine-lib.spec
index a46faaa..4530cdb 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -2,6 +2,11 @@
# - libstk: http://www.libstk.net/
%define codecdir %{_libdir}/codecs
+%ifarch %{ix86}
+%define have_vidix 1
+%else
+%define have_vidix 0
+%endif
Summary: Xine library
Name: xine-lib
@@ -199,72 +204,94 @@ rm -rf $RPM_BUILD_ROOT
%dir %{_libdir}/xine/
%dir %{_libdir}/xine/plugins/
%dir %{_libdir}/xine/plugins/%{version}/
-# I list all the plugins because I don't want a non-free plugin
-# to sneak into a future version
+# Listing every plugin separately for better control over binary packages
+# containing exactly the plugins we want, nothing accidentally snuck in
+# nor dropped.
+%dir %{_libdir}/xine/plugins/%{version}/post/
+%{_libdir}/xine/plugins/%{version}/post/xineplug_post_audio_filters.so
+%{_libdir}/xine/plugins/%{version}/post/xineplug_post_goom.so
+%{_libdir}/xine/plugins/%{version}/post/xineplug_post_mosaico.so
+%{_libdir}/xine/plugins/%{version}/post/xineplug_post_switch.so
+%{_libdir}/xine/plugins/%{version}/post/xineplug_post_visualizations.so
+%if %{have_vidix}
+%dir %{_libdir}/xine/plugins/%{version}/vidix/
+%{_libdir}/xine/plugins/%{version}/vidix/cyberblade_vid.so
+%{_libdir}/xine/plugins/%{version}/vidix/mach64_vid.so
+%{_libdir}/xine/plugins/%{version}/vidix/mga_crtc2_vid.so
+%{_libdir}/xine/plugins/%{version}/vidix/mga_vid.so
+%{_libdir}/xine/plugins/%{version}/vidix/nvidia_vid.so
+%{_libdir}/xine/plugins/%{version}/vidix/pm2_vid.so
+%{_libdir}/xine/plugins/%{version}/vidix/pm3_vid.so
+%{_libdir}/xine/plugins/%{version}/vidix/radeon_vid.so
+%{_libdir}/xine/plugins/%{version}/vidix/rage128_vid.so
+%{_libdir}/xine/plugins/%{version}/vidix/savage_vid.so
+%{_libdir}/xine/plugins/%{version}/vidix/sis_vid.so
+%{_libdir}/xine/plugins/%{version}/vidix/unichrome_vid.so
+%endif
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_alsa.so
-%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_oss.so
-%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_none.so
-%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_fb.so
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_file.so
-%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_none.so
-%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_opengl.so
-%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_syncfb.so
-%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xshm.so
-%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xv.so
-%{_libdir}/xine/plugins/%{version}/xineplug_inp_dvb.so
-%{_libdir}/xine/plugins/%{version}/xineplug_inp_v4l.so
-%{_libdir}/xine/plugins/%{version}/xineplug_inp_file.so
-%{_libdir}/xine/plugins/%{version}/xineplug_inp_http.so
-%{_libdir}/xine/plugins/%{version}/xineplug_inp_net.so
-%{_libdir}/xine/plugins/%{version}/xineplug_inp_pnm.so
-%{_libdir}/xine/plugins/%{version}/xineplug_inp_cdda.so
-%{_libdir}/xine/plugins/%{version}/xineplug_inp_stdin_fifo.so
-%{_libdir}/xine/plugins/%{version}/xineplug_inp_rtsp.so
-%{_libdir}/xine/plugins/%{version}/xineplug_inp_pvr.so
-%{_libdir}/xine/plugins/%{version}/xineplug_inp_rtp.so
+%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_none.so
+%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_oss.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_bitplane.so
-%{_libdir}/xine/plugins/%{version}/xineplug_decode_rgb.so
-%{_libdir}/xine/plugins/%{version}/xineplug_decode_vorbis.so
-%{_libdir}/xine/plugins/%{version}/xineplug_decode_yuv.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_lpcm.so
+%{_libdir}/xine/plugins/%{version}/xineplug_decode_mpc.so
+%ifarch %ix86
+%{_libdir}/xine/plugins/%{version}/xineplug_decode_qt.so
+%endif
%{_libdir}/xine/plugins/%{version}/xineplug_decode_real.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_real_audio.so
+%{_libdir}/xine/plugins/%{version}/xineplug_decode_rgb.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_speex.so
-%{_libdir}/xine/plugins/%{version}/xineplug_decode_theora.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_spudvb.so
-%{_libdir}/xine/plugins/%{version}/xineplug_decode_mpc.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_sputext.so
-%{_libdir}/xine/plugins/%{version}/xineplug_dmx_yuv_frames.so
-%{_libdir}/xine/plugins/%{version}/xineplug_dmx_real.so
+%{_libdir}/xine/plugins/%{version}/xineplug_decode_theora.so
+%{_libdir}/xine/plugins/%{version}/xineplug_decode_vorbis.so
+%ifarch %ix86
+%{_libdir}/xine/plugins/%{version}/xineplug_decode_w32dll.so
+%endif
+%{_libdir}/xine/plugins/%{version}/xineplug_decode_yuv.so
%{_libdir}/xine/plugins/%{version}/xineplug_dmx_audio.so
-%{_libdir}/xine/plugins/%{version}/xineplug_dmx_iff.so
%{_libdir}/xine/plugins/%{version}/xineplug_dmx_avi.so
+%{_libdir}/xine/plugins/%{version}/xineplug_dmx_fli.so
%{_libdir}/xine/plugins/%{version}/xineplug_dmx_flv.so
+%{_libdir}/xine/plugins/%{version}/xineplug_dmx_games.so
+%{_libdir}/xine/plugins/%{version}/xineplug_dmx_iff.so
%{_libdir}/xine/plugins/%{version}/xineplug_dmx_image.so
%{_libdir}/xine/plugins/%{version}/xineplug_dmx_matroska.so
-%{_libdir}/xine/plugins/%{version}/xineplug_dmx_ogg.so
-%{_libdir}/xine/plugins/%{version}/xineplug_dmx_fli.so
-%{_libdir}/xine/plugins/%{version}/xineplug_dmx_nsv.so
%{_libdir}/xine/plugins/%{version}/xineplug_dmx_mng.so
+%{_libdir}/xine/plugins/%{version}/xineplug_dmx_nsv.so
+%{_libdir}/xine/plugins/%{version}/xineplug_dmx_ogg.so
%{_libdir}/xine/plugins/%{version}/xineplug_dmx_pva.so
%{_libdir}/xine/plugins/%{version}/xineplug_dmx_qt.so
%{_libdir}/xine/plugins/%{version}/xineplug_dmx_rawdv.so
-%{_libdir}/xine/plugins/%{version}/xineplug_dmx_sputext.so
-%{_libdir}/xine/plugins/%{version}/xineplug_dmx_games.so
+%{_libdir}/xine/plugins/%{version}/xineplug_dmx_real.so
%{_libdir}/xine/plugins/%{version}/xineplug_dmx_slave.so
+%{_libdir}/xine/plugins/%{version}/xineplug_dmx_sputext.so
+%{_libdir}/xine/plugins/%{version}/xineplug_dmx_yuv_frames.so
%{_libdir}/xine/plugins/%{version}/xineplug_flac.so
-%{_libdir}/xine/plugins/%{version}/xineplug_wavpack.so
-%ifarch %ix86
+%{_libdir}/xine/plugins/%{version}/xineplug_inp_cdda.so
+%{_libdir}/xine/plugins/%{version}/xineplug_inp_dvb.so
+%{_libdir}/xine/plugins/%{version}/xineplug_inp_file.so
+%{_libdir}/xine/plugins/%{version}/xineplug_inp_http.so
+%{_libdir}/xine/plugins/%{version}/xineplug_inp_net.so
+%{_libdir}/xine/plugins/%{version}/xineplug_inp_pnm.so
+%{_libdir}/xine/plugins/%{version}/xineplug_inp_pvr.so
+%{_libdir}/xine/plugins/%{version}/xineplug_inp_rtp.so
+%{_libdir}/xine/plugins/%{version}/xineplug_inp_rtsp.so
+%{_libdir}/xine/plugins/%{version}/xineplug_inp_stdin_fifo.so
+%{_libdir}/xine/plugins/%{version}/xineplug_inp_v4l.so
+%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_fb.so
+%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_none.so
+%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_opengl.so
+%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_syncfb.so
+%if %{have_vidix}
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_vidix.so
-%{_libdir}/xine/plugins/%{version}/xineplug_decode_qt.so
-%{_libdir}/xine/plugins/%{version}/xineplug_decode_w32dll.so
%endif
-%ifnarch ppc64 s390 s390x
-%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xxmc.so
+%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xshm.so
+%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xv.so
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xvmc.so
-%endif
-%{_libdir}/xine/plugins/%{version}/post/
-%{_libdir}/xine/plugins/%{version}/vidix/
+%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xxmc.so
+%{_libdir}/xine/plugins/%{version}/xineplug_wavpack.so
%files extras
@@ -273,20 +300,20 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_esd.so
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_jack.so
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_pulseaudio.so
+%{_libdir}/xine/plugins/%{version}/xineplug_decode_gdk_pixbuf.so
+%if 0%{!?_without_imagemagick:1}
+%{_libdir}/xine/plugins/%{version}/xineplug_decode_image.so
+%endif
%{_libdir}/xine/plugins/%{version}/xineplug_inp_gnome_vfs.so
%{_libdir}/xine/plugins/%{version}/xineplug_inp_smb.so
-%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_sdl.so
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_aa.so
-%{_libdir}/xine/plugins/%{version}/xineplug_decode_gdk_pixbuf.so
%if 0%{?_with_caca:1}
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_caca.so
%endif
-%if 0%{!?_without_imagemagick:1}
-%{_libdir}/xine/plugins/%{version}/xineplug_decode_image.so
-%endif
%if 0%{!?_without_directfb:1}
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_directfb.so
%endif
+%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_sdl.so
%files devel
@@ -302,6 +329,10 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Sun Apr 8 2007 Ville Skyttä <ville.skytta at iki.fi>
+- Exclude vidix dir on systems that don't have vidix.
+- Specfile cleanups.
+
* Mon Mar 26 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.4-4
- Add PulseAudio support (in -extras, #234035/Jost Diederichs).
- Adjust Samba build dependencies to work for both <= and > FC6.
commit 5274bd95b2a4030f1138be14ef43404bea81af44
Author: Ville Skyttä <scop(a)fedoraproject.org>
Date: Sun Apr 8 14:13:18 2007 +0000
Using bz2 tarball
diff --git a/xine-lib-cleanup-sources.sh b/xine-lib-cleanup-sources.sh
index 97da5bd..9cd32fd 100755
--- a/xine-lib-cleanup-sources.sh
+++ b/xine-lib-cleanup-sources.sh
@@ -6,7 +6,7 @@ if [ -z "$1" -o $# -ne 1 ]; then
fi
version=$1
-tarball="xine-lib-$version.tar.gz"
+tarball="xine-lib-$version.tar.bz2"
dir="xine-lib-$version"
modtarball="xine-lib-$version-pruned.tar.bz2"
@@ -18,7 +18,7 @@ fi
echo "Uncompressing $tarball..."
rm -rf $dir
-tar -xzf $tarball
+tar -xjf $tarball
cd $dir
# Main libraries
commit e9deeb7216effcc19fbf223a435ad6cefacfa0e2
Author: Ville Skyttä <scop(a)fedoraproject.org>
Date: Mon Mar 26 19:56:33 2007 +0000
* Mon Mar 26 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.4-4
- Add PulseAudio support (in -extras, #234035/Jost Diederichs).
- Adjust Samba build dependencies to work for both <= and > FC6.
- Add --with freetype and --with antialiasing build time options,
default disabled, and an upstream patch for FreeType memory leak (#233194).
diff --git a/xine-lib-1.1.4-ftfree.patch b/xine-lib-1.1.4-ftfree.patch
new file mode 100644
index 0000000..e8e7cd0
--- /dev/null
+++ b/xine-lib-1.1.4-ftfree.patch
@@ -0,0 +1,20 @@
+--- src/xine-engine/osd.c 2007/02/20 00:34:58 1.84
++++ src/xine-engine/osd.c 2007/03/03 22:59:37 1.86
+@@ -1481,7 +1481,16 @@
+ while( osd ) {
+ if ( osd == osd_to_close ) {
+ free( osd->area );
+- if( osd->ft2 ) free( osd->ft2 );
++
++#ifdef HAVE_FT2
++ if( osd->ft2 ) {
++ if ( osd->ft2->library )
++ FT_Done_FreeType(osd->ft2->library);
++
++ free( osd->ft2 );
++ }
++#endif
++
+ osd_free_encoding(osd);
+
+ if( last )
diff --git a/xine-lib.spec b/xine-lib.spec
index 2397a7b..a46faaa 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -1,14 +1,12 @@
# TODO, sometime, maybe:
# - libstk: http://www.libstk.net/
-# - pulseaudio
-# - --enable-antialiasing?
%define codecdir %{_libdir}/codecs
Summary: Xine library
Name: xine-lib
Version: 1.1.4
-Release: 3%{?dist}
+Release: 4%{?dist}
License: GPL
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -23,13 +21,14 @@ Patch0: %{name}-1.1.4-autotools.patch.bz2
Patch1: %{name}-1.1.4-optflags.patch
Patch2: %{name}-1.1.4-CVE-2007-1246.patch
Patch3: %{name}-1.1.3-legacy-flac-init.patch
+Patch4: %{name}-1.1.4-ftfree.patch
Patch6: %{name}-1.1.1-deepbind-939.patch
Patch7: %{name}-1.1.1-multilib-devel.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
# X11
BuildRequires: libX11-devel libXv-devel libXinerama-devel libXvMC-devel libGLU-devel
# Video
-BuildRequires: freetype-devel SDL-devel libtheora-devel libmng-devel
+BuildRequires: SDL-devel libtheora-devel libmng-devel
BuildRequires: aalib-devel >= 1.4
%if 0%{?_with_caca:1}
BuildRequires: libcaca-devel >= 0.99
@@ -40,14 +39,20 @@ BuildRequires: directfb-devel
%if 0%{!?_without_imagemagick:1}
BuildRequires: ImageMagick-devel >= 6.2.4.6-1
%endif
+%if 0%{?_with_freetype:1}
+BuildRequires: fontconfig-devel
+%endif
# Audio
BuildRequires: libogg-devel libvorbis-devel flac-devel libmodplug-devel
BuildRequires: esound-devel speex-devel arts-devel alsa-lib-devel >= 0.9.0
BuildRequires: jack-audio-connection-kit-devel wavpack-devel libmpcdec-devel
+BuildRequires: pulseaudio-lib-devel
# CDs
BuildRequires: libcdio-devel
# Other
-BuildRequires: pkgconfig gnome-vfs2-devel gtk2-devel samba-common
+BuildRequires: pkgconfig gnome-vfs2-devel gtk2-devel
+# samba-common in <= FC-6, libsmbclient-devel in FC7+
+BuildRequires: %{_includedir}/libsmbclient.h
%package devel
Summary: Xine library development files
@@ -70,6 +75,8 @@ of the most uncommon formats, too. Non-default rpmbuild options:
--without imagemagick: Disable ImageMagick support
--without directfb: Disable DirectFB support
--with caca: Enable CACA support
+--with freetype: Enable FreeType/Fontconfig support
+--with antialiasing: Enable font antialiasing (with FreeType/FontConfig)
%description devel
This package contains development files for xine-lib.
@@ -79,6 +86,7 @@ This package contains extra plugins for xine-lib:
- aRts
- EsounD
- JACK
+ - Pulseaudio
- GDK-Pixbuf
- GNOME VFS
- SMB
@@ -105,6 +113,7 @@ touch -r m4/optimizations.m4 m4/optimizations.m4.stamp
%patch2 -p1 -b .CVE-2007-1246
touch -r m4/optimizations.m4.stamp m4/optimizations.m4
%patch3 -p0 -b .legacy-flac-init
+%patch4 -p0 -b .ftfree
# Patch6 needed at least when compiling with external ffmpeg, #939.
%patch6 -p1 -b .deepbind
%patch7 -p0 -b .multilib-devel
@@ -135,6 +144,13 @@ export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)"
%endif
%if 0%{!?_with_caca:1}
--without-caca \
+%endif
+%if 0%{?_with_freetype:1}
+ --with-freetype \
+ --with-fontconfig \
+%if 0%{?_with_antialiasing:1}
+ --enable-antialiasing \
+%endif
%endif
--disable-libfame \
--disable-faad \
@@ -256,6 +272,7 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_arts.so
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_esd.so
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_jack.so
+%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_pulseaudio.so
%{_libdir}/xine/plugins/%{version}/xineplug_inp_gnome_vfs.so
%{_libdir}/xine/plugins/%{version}/xineplug_inp_smb.so
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_sdl.so
@@ -284,8 +301,13 @@ rm -rf $RPM_BUILD_ROOT
%{_mandir}/man1/xine-config.1*
-
%changelog
+* Mon Mar 26 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.4-4
+- Add PulseAudio support (in -extras, #234035/Jost Diederichs).
+- Adjust Samba build dependencies to work for both <= and > FC6.
+- Add --with freetype and --with antialiasing build time options,
+ default disabled, and an upstream patch for FreeType memory leak (#233194).
+
* Sat Mar 10 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.4-3
- Apply upstream fix for CVE-2007-1246.
commit 074bb17cdcebb45f114c82cb0ee35369c0a05f09
Author: Ville Skyttä <scop(a)fedoraproject.org>
Date: Sat Mar 10 22:13:01 2007 +0000
* Sat Mar 10 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.4-3
- Apply upstream fix for CVE-2007-1246.
diff --git a/xine-lib-1.1.4-CVE-2007-1246.patch b/xine-lib-1.1.4-CVE-2007-1246.patch
new file mode 100644
index 0000000..c7fec5d
--- /dev/null
+++ b/xine-lib-1.1.4-CVE-2007-1246.patch
@@ -0,0 +1,40 @@
+---------------------
+PatchSet 8656
+Date: 2007/03/10 02:41:34
+Author: dgp85
+Branch: HEAD
+Tag: (none)
+Log:
+ * Security fixes:
+ - Fix heap overflow in DMO loader. (CVE-2007-1246) [bug #1676925]
+ Thanks to Kees Cook for reporting.
+
+Members:
+ ChangeLog:1.724->1.725
+ src/libw32dll/DirectShow/DS_VideoDecoder.c:1.9->1.10
+ src/libw32dll/dmo/DMO_VideoDecoder.c:1.4->1.5
+
+Index: xine-lib/src/libw32dll/DirectShow/DS_VideoDecoder.c
+diff -u xine-lib/src/libw32dll/DirectShow/DS_VideoDecoder.c:1.9 xine-lib/src/libw32dll/DirectShow/DS_VideoDecoder.c:1.10
+--- xine-lib/src/libw32dll/DirectShow/DS_VideoDecoder.c:1.9 Wed Dec 24 16:55:36 2003
++++ xine-lib/src/libw32dll/DirectShow/DS_VideoDecoder.c Sat Mar 10 00:41:34 2007
+@@ -110,6 +110,7 @@
+
+ this->iv.m_bh = (BITMAPINFOHEADER*)malloc(bihs);
+ memcpy(this->iv.m_bh, format, bihs);
++ this->iv.m_bh->biSize = bihs;
+
+ this->iv.m_State = STOP;
+ //this->iv.m_pFrame = 0;
+Index: xine-lib/src/libw32dll/dmo/DMO_VideoDecoder.c
+diff -u xine-lib/src/libw32dll/dmo/DMO_VideoDecoder.c:1.4 xine-lib/src/libw32dll/dmo/DMO_VideoDecoder.c:1.5
+--- xine-lib/src/libw32dll/dmo/DMO_VideoDecoder.c:1.4 Wed Dec 24 16:55:36 2003
++++ xine-lib/src/libw32dll/dmo/DMO_VideoDecoder.c Sat Mar 10 00:41:34 2007
+@@ -118,6 +118,7 @@
+
+ this->iv.m_bh = (BITMAPINFOHEADER*)malloc(bihs);
+ memcpy(this->iv.m_bh, format, bihs);
++ this->iv.m_bh->biSize = bihs;
+
+ this->iv.m_State = STOP;
+ //this->iv.m_pFrame = 0;
diff --git a/xine-lib.spec b/xine-lib.spec
index 54db4dc..2397a7b 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -8,7 +8,7 @@
Summary: Xine library
Name: xine-lib
Version: 1.1.4
-Release: 2%{?dist}
+Release: 3%{?dist}
License: GPL
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -21,6 +21,7 @@ Source2: %{name}-mk-autotools-patch.sh
# autotools patch created with source2
Patch0: %{name}-1.1.4-autotools.patch.bz2
Patch1: %{name}-1.1.4-optflags.patch
+Patch2: %{name}-1.1.4-CVE-2007-1246.patch
Patch3: %{name}-1.1.3-legacy-flac-init.patch
Patch6: %{name}-1.1.1-deepbind-939.patch
Patch7: %{name}-1.1.1-multilib-devel.patch
@@ -101,6 +102,7 @@ This package contains extra plugins for xine-lib:
touch -r configure.ac aclocal.m4
touch -r m4/optimizations.m4 m4/optimizations.m4.stamp
%patch1 -p1 -b .optflags
+%patch2 -p1 -b .CVE-2007-1246
touch -r m4/optimizations.m4.stamp m4/optimizations.m4
%patch3 -p0 -b .legacy-flac-init
# Patch6 needed at least when compiling with external ffmpeg, #939.
@@ -284,6 +286,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Sat Mar 10 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.4-3
+- Apply upstream fix for CVE-2007-1246.
+
* Wed Feb 14 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.4-2
- Rebuild.
commit df97efc8ef983be6c55dda3af9026abdfc36ce12
Author: Ville Skyttä <scop(a)fedoraproject.org>
Date: Wed Feb 14 18:44:03 2007 +0000
* Wed Feb 14 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.4-2
- Rebuild.
diff --git a/xine-lib.spec b/xine-lib.spec
index b902952..54db4dc 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -8,7 +8,7 @@
Summary: Xine library
Name: xine-lib
Version: 1.1.4
-Release: 1%{?dist}
+Release: 2%{?dist}
License: GPL
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -284,6 +284,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Wed Feb 14 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.4-2
+- Rebuild.
+
* Wed Jan 31 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.4-1
- 1.1.4, with wavpack and system libmpcdec support.
commit 293dad2c1bba195b7b1c15a78eec244cd1798977
Author: Ville Skyttä <scop(a)fedoraproject.org>
Date: Wed Jan 31 19:58:30 2007 +0000
* Wed Jan 31 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.4-1
- 1.1.4, with wavpack and system libmpcdec support.
diff --git a/.cvsignore b/.cvsignore
index c99b3db..aea6ec7 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -1,2 +1,2 @@
-xine-lib-1.1.3-pruned.tar.bz2
-xine-lib-1.1.3-autotools.patch.bz2
+xine-lib-1.1.4-pruned.tar.bz2
+xine-lib-1.1.4-autotools.patch.bz2
diff --git a/sources b/sources
index 3bdc00e..2a4625c 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-eff682745f198e1881773509f12c70c3 xine-lib-1.1.3-pruned.tar.bz2
-a58fce450d9288224caa413ad8bc1f8d xine-lib-1.1.3-autotools.patch.bz2
+81faabf1e38abed44639dbe4c76719f9 xine-lib-1.1.4-pruned.tar.bz2
+a916758545ed73a369f40648c7bc449c xine-lib-1.1.4-autotools.patch.bz2
diff --git a/xine-lib-1.1.3-flac113.patch b/xine-lib-1.1.3-flac113.patch
deleted file mode 100644
index f698b90..0000000
--- a/xine-lib-1.1.3-flac113.patch
+++ /dev/null
@@ -1,149 +0,0 @@
-Index: xine-lib/src/libflac/decoder_flac.c
-diff -u xine-lib/src/libflac/decoder_flac.c:1.21 xine-lib/src/libflac/decoder_flac.c:1.22
---- xine-lib/src/libflac/decoder_flac.c:1.21 Sat Aug 5 13:34:42 2006
-+++ xine-lib/src/libflac/decoder_flac.c Mon Dec 25 19:22:00 2006
-@@ -30,6 +30,13 @@
-
- #include <FLAC/stream_decoder.h>
-
-+#if !defined FLAC_API_VERSION_CURRENT || FLAC_API_VERSION_CURRENT < 8
-+#include <FLAC/seekable_stream_decoder.h>
-+#define LEGACY_FLAC
-+#else
-+#undef LEGACY_FLAC
-+#endif
-+
- #define LOG_MODULE "flac_decoder"
- #define LOG_VERBOSE
-
-@@ -344,6 +351,7 @@
-
- this->flac_decoder = FLAC__stream_decoder_new();
-
-+#ifdef LEGACY_FLAC
- FLAC__stream_decoder_set_read_callback (this->flac_decoder,
- flac_read_callback);
- FLAC__stream_decoder_set_write_callback (this->flac_decoder,
-@@ -359,6 +367,22 @@
- free (this);
- return NULL;
- }
-+#else
-+ if ( FLAC__stream_decoder_init_stream (this->flac_decoder,
-+ flac_read_callback,
-+ NULL, /* seek */
-+ NULL, /* tell */
-+ NULL, /* length */
-+ NULL, /* eof */
-+ flac_write_callback,
-+ NULL, /* metadata */
-+ flac_error_callback,
-+ this
-+ ) != FLAC__STREAM_DECODER_INIT_STATUS_OK ) {
-+ free (this);
-+ return NULL;
-+ }
-+#endif
-
- return (audio_decoder_t *) this;
- }
-Index: xine-lib/src/libflac/demux_flac.c
-diff -u xine-lib/src/libflac/demux_flac.c:1.24 xine-lib/src/libflac/demux_flac.c:1.25
---- xine-lib/src/libflac/demux_flac.c:1.24 Sat Oct 21 18:50:41 2006
-+++ xine-lib/src/libflac/demux_flac.c Mon Dec 25 19:22:00 2006
-@@ -441,7 +441,11 @@
- lprintf("demux_flac_dispose\n");
-
- if (this->flac_decoder)
-+#ifdef LEGACY_FLAC
- FLAC__seekable_stream_decoder_delete (this->flac_decoder);
-+#else
-+ FLAC__stream_decoder_delete (this->flac_decoder);
-+#endif
-
- free(this);
- return;
-@@ -494,8 +498,13 @@
- }
- target_sample = (uint64_t)(distance * this->total_samples);
-
-+#ifdef LEGACY_FLAC
- s = FLAC__seekable_stream_decoder_seek_absolute (this->flac_decoder,
- target_sample);
-+#else
-+ s = FLAC__stream_decoder_seek_absolute (this->flac_decoder,
-+ target_sample);
-+#endif
-
- if (s) {
- lprintf ("Seek to: %d successfull!\n", start_time);
-@@ -618,9 +627,6 @@
- /* Get a new FLAC decoder and hook up callbacks */
- #ifdef LEGACY_FLAC
- this->flac_decoder = FLAC__seekable_stream_decoder_new();
--#else
-- this->flac_decoder = FLAC__stream_decoder_new();
--#endif
- lprintf("this->flac_decoder: %p\n", this->flac_decoder);
-
- FLAC__seekable_stream_decoder_set_md5_checking (this->flac_decoder, false);
-@@ -644,6 +650,37 @@
- this);
-
- FLAC__seekable_stream_decoder_init (this->flac_decoder);
-+#else
-+ this->flac_decoder = FLAC__stream_decoder_new();
-+ lprintf("this->flac_decoder: %p\n", this->flac_decoder);
-+
-+ if ( ! this->flac_decoder ) {
-+ free(this);
-+ return NULL;
-+ }
-+
-+ FLAC__stream_decoder_set_md5_checking (this->flac_decoder, false);
-+
-+ if ( FLAC__stream_decoder_init_stream(this->flac_decoder,
-+ flac_read_callback,
-+ flac_seek_callback,
-+ flac_tell_callback,
-+ flac_length_callback,
-+ flac_eof_callback,
-+ flac_write_callback,
-+ flac_metadata_callback,
-+ flac_error_callback,
-+ this
-+ ) != FLAC__STREAM_DECODER_INIT_STATUS_OK ) {
-+#ifdef LEGACY_FLAC
-+ FLAC__seekable_stream_decoder_delete (this->flac_decoder);
-+#else
-+ FLAC__stream_decoder_delete (this->flac_decoder);
-+#endif
-+ free(this);
-+ return NULL;
-+ }
-+#endif
-
- /* Get some stream info */
- this->data_size = this->input->get_length (this->input);
-@@ -653,13 +690,21 @@
- * this flac stream
- */
- this->status = DEMUX_OK;
-+#ifdef LEGACY_FLAC
- FLAC__seekable_stream_decoder_process_until_end_of_metadata (this->flac_decoder);
-+#else
-+ FLAC__stream_decoder_process_until_end_of_metadata (this->flac_decoder);
-+#endif
-
- lprintf("Processed file until end of metadata: %s\n",
- this->status == DEMUX_OK ? "success" : "failure");
-
- if (this->status != DEMUX_OK) {
-+#ifdef LEGACY_FLAC
- FLAC__seekable_stream_decoder_delete (this->flac_decoder);
-+#else
-+ FLAC__stream_decoder_delete (this->flac_decoder);
-+#endif
- free (this);
- return NULL;
- }
diff --git a/xine-lib-1.1.3-optflags.patch b/xine-lib-1.1.4-optflags.patch
similarity index 61%
rename from xine-lib-1.1.3-optflags.patch
rename to xine-lib-1.1.4-optflags.patch
index 8413f5a..a76864a 100644
--- a/xine-lib-1.1.3-optflags.patch
+++ b/xine-lib-1.1.4-optflags.patch
@@ -1,5 +1,5 @@
---- xine-lib-1.1.3/m4/optimizations.m4~ 2006-06-17 18:20:56.000000000 +0300
-+++ xine-lib-1.1.3/m4/optimizations.m4 2006-12-17 11:49:44.000000000 +0200
+--- xine-lib-1.1.4/m4/optimizations.m4~ 2006-06-17 18:20:56.000000000 +0300
++++ xine-lib-1.1.4/m4/optimizations.m4 2007-01-30 23:03:27.000000000 +0200
@@ -107,7 +107,7 @@
DEBUG_CFLAGS="-O $DEBUG_CFLAGS"
@@ -9,9 +9,9 @@
archopt_val=
case "$host_or_hostalias" in
---- xine-lib-1.1.3/configure~ 2006-12-03 21:41:27.000000000 +0200
-+++ xine-lib-1.1.3/configure 2006-12-17 11:50:07.000000000 +0200
-@@ -46971,7 +46971,7 @@
+--- xine-lib-1.1.4/configure~ 2007-01-30 23:02:56.000000000 +0200
++++ xine-lib-1.1.4/configure 2007-01-30 23:03:40.000000000 +0200
+@@ -47754,7 +47754,7 @@
DEBUG_CFLAGS="-O $DEBUG_CFLAGS"
diff --git a/xine-lib-mk-autotools-patch.sh b/xine-lib-mk-autotools-patch.sh
new file mode 100644
index 0000000..88db99c
--- /dev/null
+++ b/xine-lib-mk-autotools-patch.sh
@@ -0,0 +1,24 @@
+#!/bin/sh
+
+# be sure to have all build deps + libtool installed before running this
+
+set -e
+
+if [ -z "$1" -o $# -ne 1 ]; then
+ echo "Usage: $0 <xine-lib-version>"
+ exit 2
+fi
+
+version=$1
+
+rm -rf xine-lib-$version xine-lib-$version-pruned
+tar jxf xine-lib-$version-pruned.tar.bz2
+cp -a xine-lib-$version xine-lib-$version-pruned
+
+cd xine-lib-$version
+./autogen.sh noconfig
+rm -rf autom4te.cache *~
+cd ..
+
+diff -Nru xine-lib-$version-pruned xine-lib-$version \
+| bzip2 --best > xine-lib-$version-autotools.patch.bz2
diff --git a/xine-lib.spec b/xine-lib.spec
index efff6c3..b902952 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -1,29 +1,26 @@
# TODO, sometime, maybe:
# - libstk: http://www.libstk.net/
# - pulseaudio
+# - --enable-antialiasing?
%define codecdir %{_libdir}/codecs
Summary: Xine library
Name: xine-lib
-Version: 1.1.3
-Release: 4%{?dist}
+Version: 1.1.4
+Release: 1%{?dist}
License: GPL
Group: System Environment/Libraries
URL: http://xinehq.de/
# The tarball is generated from the upstream tarball using
# the script in SOURCE1. It prunes potentially patented code
-#Source0: http://dl.sourceforge.net/xine/xine-lib-%{version}.tar.gz
+#Source0: http://dl.sourceforge.net/xine/xine-lib-%{version}.tar.bz2
Source0: %{name}-%{version}-pruned.tar.bz2
Source1: %{name}-cleanup-sources.sh
-# To recreate the autotools patch: install build deps, extract source0,
-# remove run_configure "$@" from autogen.sh, copy the dir to -patched,
-# run autogen.sh (doesn't work with automake 1.10 as of 1.1.3 so use 1.9),
-# remove autom4te.cache, then diff the dirs. Apply rest of the patches during
-# build so that autotools do not need to be run again.
-Patch0: %{name}-1.1.3-autotools.patch.bz2
-Patch1: %{name}-1.1.3-optflags.patch
-Patch2: %{name}-1.1.3-flac113.patch
+Source2: %{name}-mk-autotools-patch.sh
+# autotools patch created with source2
+Patch0: %{name}-1.1.4-autotools.patch.bz2
+Patch1: %{name}-1.1.4-optflags.patch
Patch3: %{name}-1.1.3-legacy-flac-init.patch
Patch6: %{name}-1.1.1-deepbind-939.patch
Patch7: %{name}-1.1.1-multilib-devel.patch
@@ -45,7 +42,7 @@ BuildRequires: ImageMagick-devel >= 6.2.4.6-1
# Audio
BuildRequires: libogg-devel libvorbis-devel flac-devel libmodplug-devel
BuildRequires: esound-devel speex-devel arts-devel alsa-lib-devel >= 0.9.0
-BuildRequires: jack-audio-connection-kit-devel
+BuildRequires: jack-audio-connection-kit-devel wavpack-devel libmpcdec-devel
# CDs
BuildRequires: libcdio-devel
# Other
@@ -101,10 +98,10 @@ This package contains extra plugins for xine-lib:
%prep
%setup -q
%patch0 -p1 -b .autotools
-cp -p m4/optimizations.m4 m4/optimizations.m4.stamp
+touch -r configure.ac aclocal.m4
+touch -r m4/optimizations.m4 m4/optimizations.m4.stamp
%patch1 -p1 -b .optflags
touch -r m4/optimizations.m4.stamp m4/optimizations.m4
-%patch2 -p1 -b .flac113
%patch3 -p0 -b .legacy-flac-init
# Patch6 needed at least when compiling with external ffmpeg, #939.
%patch6 -p1 -b .deepbind
@@ -124,6 +121,9 @@ export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)"
--with-xv-path=%{_libdir} \
--with-w32-path=%{codecdir} \
--with-external-ffmpeg \
+ --with-external-libmpcdec \
+ --with-libflac \
+ --with-wavpack \
--enable-ipv6 \
%if 0%{!?_without_directfb:1}
--enable-directfb \
@@ -149,8 +149,8 @@ make %{?_smp_mflags}
rm -rf $RPM_BUILD_ROOT __docs
make install DESTDIR=$RPM_BUILD_ROOT
%find_lang libxine1
-cp -pR $RPM_BUILD_ROOT%{_docdir}/xine __docs
-rm -rf $RPM_BUILD_ROOT%{_docdir}/xine
+cp -pR $RPM_BUILD_ROOT%{_docdir}/xine-lib __docs
+rm -rf $RPM_BUILD_ROOT%{_docdir}/xine-lib
# Removing useless files
rm -Rf $RPM_BUILD_ROOT%{_libdir}/libxine.la __docs/README \
@@ -166,12 +166,14 @@ rm -rf $RPM_BUILD_ROOT
%post -p /sbin/ldconfig
+
%postun -p /sbin/ldconfig
%files -f libxine1.lang
%defattr(-,root,root,-)
-%doc AUTHORS COPYING CREDITS ChangeLog* README TODO __docs/README.* __docs/faq
+%doc AUTHORS COPYING CREDITS ChangeLog* README TODO
+%doc __docs/README.* __docs/faq.*
%dir %{codecdir}
%{_datadir}/xine
%{_libdir}/libxine.so.*
@@ -213,6 +215,7 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{version}/xineplug_decode_theora.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_spudvb.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_mpc.so
+%{_libdir}/xine/plugins/%{version}/xineplug_decode_sputext.so
%{_libdir}/xine/plugins/%{version}/xineplug_dmx_yuv_frames.so
%{_libdir}/xine/plugins/%{version}/xineplug_dmx_real.so
%{_libdir}/xine/plugins/%{version}/xineplug_dmx_audio.so
@@ -232,7 +235,7 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{version}/xineplug_dmx_games.so
%{_libdir}/xine/plugins/%{version}/xineplug_dmx_slave.so
%{_libdir}/xine/plugins/%{version}/xineplug_flac.so
-%{_libdir}/xine/plugins/%{version}/xineplug_decode_sputext.so
+%{_libdir}/xine/plugins/%{version}/xineplug_wavpack.so
%ifarch %ix86
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_vidix.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_qt.so
@@ -281,6 +284,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Wed Jan 31 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.4-1
+- 1.1.4, with wavpack and system libmpcdec support.
+
* Thu Jan 18 2007 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.3-4
- rebuild
commit b42ce18b7a893d10899db1a647d517107e9ff916
Author: Aurelien Bompard <abompard(a)fedoraproject.org>
Date: Thu Jan 18 20:34:56 2007 +0000
rebuild
diff --git a/xine-lib.spec b/xine-lib.spec
index 8477e9b..efff6c3 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -7,7 +7,7 @@
Summary: Xine library
Name: xine-lib
Version: 1.1.3
-Release: 3%{?dist}
+Release: 4%{?dist}
License: GPL
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -281,6 +281,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Thu Jan 18 2007 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.3-4
+- rebuild
+
* Wed Jan 3 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.3-3
- Fix libflac decoder with FLAC < 1.1.3 (#220961).
- Apply upstream patch for FLAC >= 1.1.3.
commit b2b1cd2002e8a2eb5873157cd94ff53933f26725
Author: Ville Skyttä <scop(a)fedoraproject.org>
Date: Wed Jan 3 20:27:13 2007 +0000
* Wed Jan 3 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.3-3
- Fix libflac decoder with FLAC < 1.1.3 (#220961).
- Apply upstream patch for FLAC >= 1.1.3.
diff --git a/xine-lib-1.1.3-flac113.patch b/xine-lib-1.1.3-flac113.patch
new file mode 100644
index 0000000..f698b90
--- /dev/null
+++ b/xine-lib-1.1.3-flac113.patch
@@ -0,0 +1,149 @@
+Index: xine-lib/src/libflac/decoder_flac.c
+diff -u xine-lib/src/libflac/decoder_flac.c:1.21 xine-lib/src/libflac/decoder_flac.c:1.22
+--- xine-lib/src/libflac/decoder_flac.c:1.21 Sat Aug 5 13:34:42 2006
++++ xine-lib/src/libflac/decoder_flac.c Mon Dec 25 19:22:00 2006
+@@ -30,6 +30,13 @@
+
+ #include <FLAC/stream_decoder.h>
+
++#if !defined FLAC_API_VERSION_CURRENT || FLAC_API_VERSION_CURRENT < 8
++#include <FLAC/seekable_stream_decoder.h>
++#define LEGACY_FLAC
++#else
++#undef LEGACY_FLAC
++#endif
++
+ #define LOG_MODULE "flac_decoder"
+ #define LOG_VERBOSE
+
+@@ -344,6 +351,7 @@
+
+ this->flac_decoder = FLAC__stream_decoder_new();
+
++#ifdef LEGACY_FLAC
+ FLAC__stream_decoder_set_read_callback (this->flac_decoder,
+ flac_read_callback);
+ FLAC__stream_decoder_set_write_callback (this->flac_decoder,
+@@ -359,6 +367,22 @@
+ free (this);
+ return NULL;
+ }
++#else
++ if ( FLAC__stream_decoder_init_stream (this->flac_decoder,
++ flac_read_callback,
++ NULL, /* seek */
++ NULL, /* tell */
++ NULL, /* length */
++ NULL, /* eof */
++ flac_write_callback,
++ NULL, /* metadata */
++ flac_error_callback,
++ this
++ ) != FLAC__STREAM_DECODER_INIT_STATUS_OK ) {
++ free (this);
++ return NULL;
++ }
++#endif
+
+ return (audio_decoder_t *) this;
+ }
+Index: xine-lib/src/libflac/demux_flac.c
+diff -u xine-lib/src/libflac/demux_flac.c:1.24 xine-lib/src/libflac/demux_flac.c:1.25
+--- xine-lib/src/libflac/demux_flac.c:1.24 Sat Oct 21 18:50:41 2006
++++ xine-lib/src/libflac/demux_flac.c Mon Dec 25 19:22:00 2006
+@@ -441,7 +441,11 @@
+ lprintf("demux_flac_dispose\n");
+
+ if (this->flac_decoder)
++#ifdef LEGACY_FLAC
+ FLAC__seekable_stream_decoder_delete (this->flac_decoder);
++#else
++ FLAC__stream_decoder_delete (this->flac_decoder);
++#endif
+
+ free(this);
+ return;
+@@ -494,8 +498,13 @@
+ }
+ target_sample = (uint64_t)(distance * this->total_samples);
+
++#ifdef LEGACY_FLAC
+ s = FLAC__seekable_stream_decoder_seek_absolute (this->flac_decoder,
+ target_sample);
++#else
++ s = FLAC__stream_decoder_seek_absolute (this->flac_decoder,
++ target_sample);
++#endif
+
+ if (s) {
+ lprintf ("Seek to: %d successfull!\n", start_time);
+@@ -618,9 +627,6 @@
+ /* Get a new FLAC decoder and hook up callbacks */
+ #ifdef LEGACY_FLAC
+ this->flac_decoder = FLAC__seekable_stream_decoder_new();
+-#else
+- this->flac_decoder = FLAC__stream_decoder_new();
+-#endif
+ lprintf("this->flac_decoder: %p\n", this->flac_decoder);
+
+ FLAC__seekable_stream_decoder_set_md5_checking (this->flac_decoder, false);
+@@ -644,6 +650,37 @@
+ this);
+
+ FLAC__seekable_stream_decoder_init (this->flac_decoder);
++#else
++ this->flac_decoder = FLAC__stream_decoder_new();
++ lprintf("this->flac_decoder: %p\n", this->flac_decoder);
++
++ if ( ! this->flac_decoder ) {
++ free(this);
++ return NULL;
++ }
++
++ FLAC__stream_decoder_set_md5_checking (this->flac_decoder, false);
++
++ if ( FLAC__stream_decoder_init_stream(this->flac_decoder,
++ flac_read_callback,
++ flac_seek_callback,
++ flac_tell_callback,
++ flac_length_callback,
++ flac_eof_callback,
++ flac_write_callback,
++ flac_metadata_callback,
++ flac_error_callback,
++ this
++ ) != FLAC__STREAM_DECODER_INIT_STATUS_OK ) {
++#ifdef LEGACY_FLAC
++ FLAC__seekable_stream_decoder_delete (this->flac_decoder);
++#else
++ FLAC__stream_decoder_delete (this->flac_decoder);
++#endif
++ free(this);
++ return NULL;
++ }
++#endif
+
+ /* Get some stream info */
+ this->data_size = this->input->get_length (this->input);
+@@ -653,13 +690,21 @@
+ * this flac stream
+ */
+ this->status = DEMUX_OK;
++#ifdef LEGACY_FLAC
+ FLAC__seekable_stream_decoder_process_until_end_of_metadata (this->flac_decoder);
++#else
++ FLAC__stream_decoder_process_until_end_of_metadata (this->flac_decoder);
++#endif
+
+ lprintf("Processed file until end of metadata: %s\n",
+ this->status == DEMUX_OK ? "success" : "failure");
+
+ if (this->status != DEMUX_OK) {
++#ifdef LEGACY_FLAC
+ FLAC__seekable_stream_decoder_delete (this->flac_decoder);
++#else
++ FLAC__stream_decoder_delete (this->flac_decoder);
++#endif
+ free (this);
+ return NULL;
+ }
diff --git a/xine-lib-1.1.3-legacy-flac-init.patch b/xine-lib-1.1.3-legacy-flac-init.patch
new file mode 100644
index 0000000..ba1cdb7
--- /dev/null
+++ b/xine-lib-1.1.3-legacy-flac-init.patch
@@ -0,0 +1,16 @@
+Index: src/libflac/decoder_flac.c
+===================================================================
+RCS file: /cvsroot/xine/xine-lib/src/libflac/decoder_flac.c,v
+retrieving revision 1.22
+diff -u -r1.22 decoder_flac.c
+--- src/libflac/decoder_flac.c 25 Dec 2006 19:22:00 -0000 1.22
++++ src/libflac/decoder_flac.c 3 Jan 2007 19:58:07 -0000
+@@ -363,7 +363,7 @@
+
+ FLAC__stream_decoder_set_client_data (this->flac_decoder, this);
+
+- if (FLAC__stream_decoder_init (this->flac_decoder) == FLAC__STREAM_DECODER_SEARCH_FOR_METADATA) {
++ if (FLAC__stream_decoder_init (this->flac_decoder) != FLAC__STREAM_DECODER_SEARCH_FOR_METADATA) {
+ free (this);
+ return NULL;
+ }
diff --git a/xine-lib.spec b/xine-lib.spec
index f317955..8477e9b 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -7,7 +7,7 @@
Summary: Xine library
Name: xine-lib
Version: 1.1.3
-Release: 2%{?dist}
+Release: 3%{?dist}
License: GPL
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -23,6 +23,8 @@ Source1: %{name}-cleanup-sources.sh
# build so that autotools do not need to be run again.
Patch0: %{name}-1.1.3-autotools.patch.bz2
Patch1: %{name}-1.1.3-optflags.patch
+Patch2: %{name}-1.1.3-flac113.patch
+Patch3: %{name}-1.1.3-legacy-flac-init.patch
Patch6: %{name}-1.1.1-deepbind-939.patch
Patch7: %{name}-1.1.1-multilib-devel.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@@ -102,6 +104,8 @@ This package contains extra plugins for xine-lib:
cp -p m4/optimizations.m4 m4/optimizations.m4.stamp
%patch1 -p1 -b .optflags
touch -r m4/optimizations.m4.stamp m4/optimizations.m4
+%patch2 -p1 -b .flac113
+%patch3 -p0 -b .legacy-flac-init
# Patch6 needed at least when compiling with external ffmpeg, #939.
%patch6 -p1 -b .deepbind
%patch7 -p0 -b .multilib-devel
@@ -277,6 +281,10 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Wed Jan 3 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.3-3
+- Fix libflac decoder with FLAC < 1.1.3 (#220961).
+- Apply upstream patch for FLAC >= 1.1.3.
+
* Sun Dec 17 2006 Ville Skyttä <ville.skytta at iki.fi> - 1.1.3-2
- Don't run autotools during build.
commit 4a03c988500b200d9a0da51db87a3597b521bf8f
Author: Ville Skyttä <scop(a)fedoraproject.org>
Date: Sun Dec 17 11:41:11 2006 +0000
* Sun Dec 17 2006 Ville Skyttä <ville.skytta at iki.fi> - 1.1.3-2
- Don't run autotools during build.
diff --git a/.cvsignore b/.cvsignore
index 58ed34c..c99b3db 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -1 +1,2 @@
xine-lib-1.1.3-pruned.tar.bz2
+xine-lib-1.1.3-autotools.patch.bz2
diff --git a/sources b/sources
index d2f7c97..3bdc00e 100644
--- a/sources
+++ b/sources
@@ -1 +1,2 @@
eff682745f198e1881773509f12c70c3 xine-lib-1.1.3-pruned.tar.bz2
+a58fce450d9288224caa413ad8bc1f8d xine-lib-1.1.3-autotools.patch.bz2
diff --git a/xine-lib-1.1.1-configure-no-mcpu-march.patch b/xine-lib-1.1.1-configure-no-mcpu-march.patch
deleted file mode 100644
index 4b6ba9e..0000000
--- a/xine-lib-1.1.1-configure-no-mcpu-march.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- m4/optimizations.m4.orig 2005-11-27 01:20:08.000000000 +0100
-+++ m4/optimizations.m4 2005-11-27 01:22:56.000000000 +0100
-@@ -161,10 +161,6 @@
- ;;
-
- esac
-- if test x"$archopt_val" != x; then
-- CFLAGS="$sarchopt=$archopt_val $CFLAGS"
-- DEBUG_CFLAGS="$sarchopt=$archopt_val $DEBUG_CFLAGS"
-- fi
- fi
- else
- dnl we have the Intel compiler
diff --git a/xine-lib-1.1.3-optflags.patch b/xine-lib-1.1.3-optflags.patch
new file mode 100644
index 0000000..8413f5a
--- /dev/null
+++ b/xine-lib-1.1.3-optflags.patch
@@ -0,0 +1,22 @@
+--- xine-lib-1.1.3/m4/optimizations.m4~ 2006-06-17 18:20:56.000000000 +0300
++++ xine-lib-1.1.3/m4/optimizations.m4 2006-12-17 11:49:44.000000000 +0200
+@@ -107,7 +107,7 @@
+
+ DEBUG_CFLAGS="-O $DEBUG_CFLAGS"
+
+- if test x"$sarchopt" != "xno"; then
++ if false ; then
+ archopt_val=
+
+ case "$host_or_hostalias" in
+--- xine-lib-1.1.3/configure~ 2006-12-03 21:41:27.000000000 +0200
++++ xine-lib-1.1.3/configure 2006-12-17 11:50:07.000000000 +0200
+@@ -46971,7 +46971,7 @@
+
+ DEBUG_CFLAGS="-O $DEBUG_CFLAGS"
+
+- if test x"$sarchopt" != "xno"; then
++ if false ; then
+ archopt_val=
+
+ case "$host_or_hostalias" in
diff --git a/xine-lib.spec b/xine-lib.spec
index 4f9da0e..f317955 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -7,19 +7,25 @@
Summary: Xine library
Name: xine-lib
Version: 1.1.3
-Release: 1%{?dist}
+Release: 2%{?dist}
License: GPL
Group: System Environment/Libraries
URL: http://xinehq.de/
# The tarball is generated from the upstream tarball using
# the script in SOURCE1. It prunes potentially patented code
#Source0: http://dl.sourceforge.net/xine/xine-lib-%{version}.tar.gz
-Source0: xine-lib-%{version}-pruned.tar.bz2
-Source1: xine-lib-cleanup-sources.sh
-Patch1: xine-lib-1.1.1-configure-no-mcpu-march.patch
-Patch6: xine-lib-1.1.1-deepbind-939.patch
-Patch7: xine-lib-1.1.1-multilib-devel.patch
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
+Source0: %{name}-%{version}-pruned.tar.bz2
+Source1: %{name}-cleanup-sources.sh
+# To recreate the autotools patch: install build deps, extract source0,
+# remove run_configure "$@" from autogen.sh, copy the dir to -patched,
+# run autogen.sh (doesn't work with automake 1.10 as of 1.1.3 so use 1.9),
+# remove autom4te.cache, then diff the dirs. Apply rest of the patches during
+# build so that autotools do not need to be run again.
+Patch0: %{name}-1.1.3-autotools.patch.bz2
+Patch1: %{name}-1.1.3-optflags.patch
+Patch6: %{name}-1.1.1-deepbind-939.patch
+Patch7: %{name}-1.1.1-multilib-devel.patch
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
# X11
BuildRequires: libX11-devel libXv-devel libXinerama-devel libXvMC-devel libGLU-devel
# Video
@@ -41,8 +47,7 @@ BuildRequires: jack-audio-connection-kit-devel
# CDs
BuildRequires: libcdio-devel
# Other
-BuildRequires: pkgconfig gnome-vfs2-devel gtk2-devel
-BuildRequires: libtool >= 1.4.0 /usr/bin/automake-1.9 samba-common
+BuildRequires: pkgconfig gnome-vfs2-devel gtk2-devel samba-common
%package devel
Summary: Xine library development files
@@ -93,19 +98,16 @@ This package contains extra plugins for xine-lib:
%prep
%setup -q
-%patch1 -p0 -b .nomcpu
+%patch0 -p1 -b .autotools
+cp -p m4/optimizations.m4 m4/optimizations.m4.stamp
+%patch1 -p1 -b .optflags
+touch -r m4/optimizations.m4.stamp m4/optimizations.m4
# Patch6 needed at least when compiling with external ffmpeg, #939.
%patch6 -p1 -b .deepbind
%patch7 -p0 -b .multilib-devel
find . -name "*.[hc]" | xargs chmod -c -x
-aclocal-1.9 -I m4
-libtoolize --force
-autoheader
-automake-1.9 --gnu --add-missing
-autoconf
-
# Avoid standard rpaths on lib64 archs:
sed -i -e 's|"/lib /usr/lib\b|"/%{_lib} %{_libdir}|' configure
@@ -275,6 +277,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Sun Dec 17 2006 Ville Skyttä <ville.skytta at iki.fi> - 1.1.3-2
+- Don't run autotools during build.
+
* Mon Dec 04 2006 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.3-1
- version 1.1.3
- patch2 applied upstream
commit 657fde1f026299ea7efbdd308b9a71c08065d842
Author: Ville Skyttä <scop(a)fedoraproject.org>
Date: Sat Dec 9 16:08:08 2006 +0000
Update -extras description.
diff --git a/xine-lib.spec b/xine-lib.spec
index 82de8f5..4f9da0e 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -74,7 +74,9 @@ This package contains extra plugins for xine-lib:
- aRts
- EsounD
- JACK
+ - GDK-Pixbuf
- GNOME VFS
+ - SMB
- SDL
- AA-lib
%if 0%{?_with_caca:1}
@@ -280,7 +282,6 @@ rm -rf $RPM_BUILD_ROOT
- Split extras plugins in a separate package
- Enable JACK support (in extras subpackage)
- Enable DirectFB support (in extras subpackage)
-- Move SMB and GDK-Pixbuf plugins into the extras subpackage
* Sat Nov 11 2006 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.2-18
- Make shn files available to amarok. References:
commit 05ae5ea126069d4490757bb5ed69a186d5d51c7b
Author: Aurelien Bompard <abompard(a)fedoraproject.org>
Date: Sat Dec 9 15:36:50 2006 +0000
Move SMB and GDK-Pixbuf plugins into the extras subpackage
diff --git a/xine-lib.spec b/xine-lib.spec
index de1ac9a..82de8f5 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -190,7 +190,6 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{version}/xineplug_inp_net.so
%{_libdir}/xine/plugins/%{version}/xineplug_inp_pnm.so
%{_libdir}/xine/plugins/%{version}/xineplug_inp_cdda.so
-%{_libdir}/xine/plugins/%{version}/xineplug_inp_smb.so
%{_libdir}/xine/plugins/%{version}/xineplug_inp_stdin_fifo.so
%{_libdir}/xine/plugins/%{version}/xineplug_inp_rtsp.so
%{_libdir}/xine/plugins/%{version}/xineplug_inp_pvr.so
@@ -226,7 +225,6 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{version}/xineplug_dmx_slave.so
%{_libdir}/xine/plugins/%{version}/xineplug_flac.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_sputext.so
-%{_libdir}/xine/plugins/%{version}/xineplug_decode_gdk_pixbuf.so
%ifarch %ix86
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_vidix.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_qt.so
@@ -246,8 +244,10 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_esd.so
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_jack.so
%{_libdir}/xine/plugins/%{version}/xineplug_inp_gnome_vfs.so
+%{_libdir}/xine/plugins/%{version}/xineplug_inp_smb.so
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_sdl.so
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_aa.so
+%{_libdir}/xine/plugins/%{version}/xineplug_decode_gdk_pixbuf.so
%if 0%{?_with_caca:1}
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_caca.so
%endif
@@ -280,6 +280,7 @@ rm -rf $RPM_BUILD_ROOT
- Split extras plugins in a separate package
- Enable JACK support (in extras subpackage)
- Enable DirectFB support (in extras subpackage)
+- Move SMB and GDK-Pixbuf plugins into the extras subpackage
* Sat Nov 11 2006 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.2-18
- Make shn files available to amarok. References:
commit 2fc26a813ef2224d22ec320384eea7042c035502
Author: Ville Skyttä <scop(a)fedoraproject.org>
Date: Fri Dec 8 18:28:34 2006 +0000
Add %defattr for extras subpackage, cosmetics.
diff --git a/xine-lib.spec b/xine-lib.spec
index c19b862..de1ac9a 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -3,7 +3,6 @@
# - pulseaudio
%define codecdir %{_libdir}/codecs
-#%define vdrver 0.7.9
Summary: Xine library
Name: xine-lib
@@ -26,6 +25,9 @@ BuildRequires: libX11-devel libXv-devel libXinerama-devel libXvMC-devel libGLU-
# Video
BuildRequires: freetype-devel SDL-devel libtheora-devel libmng-devel
BuildRequires: aalib-devel >= 1.4
+%if 0%{?_with_caca:1}
+BuildRequires: libcaca-devel >= 0.99
+%endif
%if 0%{!?_without_directfb:1}
BuildRequires: directfb-devel
%endif
@@ -36,24 +38,17 @@ BuildRequires: ImageMagick-devel >= 6.2.4.6-1
BuildRequires: libogg-devel libvorbis-devel flac-devel libmodplug-devel
BuildRequires: esound-devel speex-devel arts-devel alsa-lib-devel >= 0.9.0
BuildRequires: jack-audio-connection-kit-devel
-%if 0%{?_with_caca:1}
-BuildRequires: libcaca-devel >= 0.99
-%endif
# CDs
BuildRequires: libcdio-devel
# Other
BuildRequires: pkgconfig gnome-vfs2-devel gtk2-devel
BuildRequires: libtool >= 1.4.0 /usr/bin/automake-1.9 samba-common
-#Provides: %{name}(vdr) = %{vdrver}
-
%package devel
Summary: Xine library development files
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
Requires: pkgconfig zlib-devel
-#Requires: %{name}(vdr) = %{vdrver}
-#Provides: %{name}-devel(vdr) = %{vdrver}
%package extras
Summary: Additional plugins for xine-lib
@@ -76,17 +71,17 @@ This package contains development files for xine-lib.
%description extras
This package contains extra plugins for xine-lib:
- - Arts
- - ESD
- - Jack
+ - aRts
+ - EsounD
+ - JACK
- GNOME VFS
- SDL
- - AAlib
+ - AA-lib
%if 0%{?_with_caca:1}
- - CACAlib
+ - Libcaca
%endif
%if 0%{!?_without_imagemagick:1}
- - image decoding
+ - Image decoding
%endif
%if 0%{!?_without_directfb:1}
- DirectFB output
@@ -97,7 +92,6 @@ This package contains extra plugins for xine-lib:
%prep
%setup -q
%patch1 -p0 -b .nomcpu
-###cp -p debian/changelog ChangeLog.vdr
# Patch6 needed at least when compiling with external ffmpeg, #939.
%patch6 -p1 -b .deepbind
%patch7 -p0 -b .multilib-devel
@@ -201,7 +195,6 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{version}/xineplug_inp_rtsp.so
%{_libdir}/xine/plugins/%{version}/xineplug_inp_pvr.so
%{_libdir}/xine/plugins/%{version}/xineplug_inp_rtp.so
-#%{_libdir}/xine/plugins/%{version}/xineplug_inp_vdr.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_bitplane.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_rgb.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_vorbis.so
@@ -248,6 +241,7 @@ rm -rf $RPM_BUILD_ROOT
%files extras
+%defattr(-,root,root,-)
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_arts.so
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_esd.so
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_jack.so
commit e1e12d7c88dd438adbe1ceaf51bcca8eab816425
Author: Aurelien Bompard <abompard(a)fedoraproject.org>
Date: Fri Dec 8 07:31:46 2006 +0000
version 1.1.3
diff --git a/.cvsignore b/.cvsignore
index 7d987ff..58ed34c 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -1 +1 @@
-xine-lib-1.1.2.tar.bz2
+xine-lib-1.1.3-pruned.tar.bz2
diff --git a/sources b/sources
index b512d76..d2f7c97 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-d1afb34d2335f8c9ded4d9a2b741251e xine-lib-1.1.2.tar.bz2
+eff682745f198e1881773509f12c70c3 xine-lib-1.1.3-pruned.tar.bz2
diff --git a/xine-lib-cleanup-sources.sh b/xine-lib-cleanup-sources.sh
index dfa3ef4..97da5bd 100755
--- a/xine-lib-cleanup-sources.sh
+++ b/xine-lib-cleanup-sources.sh
@@ -6,8 +6,9 @@ if [ -z "$1" -o $# -ne 1 ]; then
fi
version=$1
-tarball="xine-lib-$version.tar.bz2"
+tarball="xine-lib-$version.tar.gz"
dir="xine-lib-$version"
+modtarball="xine-lib-$version-pruned.tar.bz2"
if [ ! -f $tarball ]; then
@@ -17,7 +18,7 @@ fi
echo "Uncompressing $tarball..."
rm -rf $dir
-tar -xjf $tarball
+tar -xzf $tarball
cd $dir
# Main libraries
@@ -58,8 +59,6 @@ sed -i -e 's/planar//g;s/deinterlace//g' src/post/Makefile.am # fails to build
# All clean !
cd ..
-echo "Generating $tarball..."
-rm -f $tarball.orig
-mv $tarball $tarball.orig
-tar -cjf $tarball $dir
+echo "Generating $modtarball..."
+tar -cjf $modtarball $dir
rm -rf $dir
diff --git a/xine-lib.spec b/xine-lib.spec
index faf767c..c19b862 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -1,20 +1,21 @@
# TODO, sometime, maybe:
# - libstk: http://www.libstk.net/
-# - polypaudio
+# - pulseaudio
%define codecdir %{_libdir}/codecs
#%define vdrver 0.7.9
Summary: Xine library
Name: xine-lib
-Version: 1.1.2
-Release: 17%{?dist}
+Version: 1.1.3
+Release: 1%{?dist}
License: GPL
Group: System Environment/Libraries
URL: http://xinehq.de/
# The tarball is generated from the upstream tarball using
# the script in SOURCE1. It prunes potentially patented code
-Source0: http://dl.sourceforge.net/xine/xine-lib-1.1.2.tar.bz2
+#Source0: http://dl.sourceforge.net/xine/xine-lib-%{version}.tar.gz
+Source0: xine-lib-%{version}-pruned.tar.bz2
Source1: xine-lib-cleanup-sources.sh
Patch1: xine-lib-1.1.1-configure-no-mcpu-march.patch
Patch6: xine-lib-1.1.1-deepbind-939.patch
@@ -24,22 +25,26 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
BuildRequires: libX11-devel libXv-devel libXinerama-devel libXvMC-devel libGLU-devel
# Video
BuildRequires: freetype-devel SDL-devel libtheora-devel libmng-devel
-BuildRequires: aalib-devel >= 1.4 libcaca-devel
+BuildRequires: aalib-devel >= 1.4
+%if 0%{!?_without_directfb:1}
+BuildRequires: directfb-devel
+%endif
+%if 0%{!?_without_imagemagick:1}
+BuildRequires: ImageMagick-devel >= 6.2.4.6-1
+%endif
# Audio
BuildRequires: libogg-devel libvorbis-devel flac-devel libmodplug-devel
BuildRequires: esound-devel speex-devel arts-devel alsa-lib-devel >= 0.9.0
+BuildRequires: jack-audio-connection-kit-devel
+%if 0%{?_with_caca:1}
+BuildRequires: libcaca-devel >= 0.99
+%endif
# CDs
BuildRequires: libcdio-devel
# Other
BuildRequires: pkgconfig gnome-vfs2-devel gtk2-devel
BuildRequires: libtool >= 1.4.0 /usr/bin/automake-1.9 samba-common
-%if 0%{?_with_directfb:1}
-BuildRequires: directfb-devel
-%endif
-%if 0%{!?_without_imagemagick:1}
-BuildRequires: ImageMagick-devel >= 6.2.4.6-1
-%endif
#Provides: %{name}(vdr) = %{vdrver}
%package devel
@@ -50,6 +55,11 @@ Requires: pkgconfig zlib-devel
#Requires: %{name}(vdr) = %{vdrver}
#Provides: %{name}-devel(vdr) = %{vdrver}
+%package extras
+Summary: Additional plugins for xine-lib
+Group: System Environment/Libraries
+Requires: %{name} = %{version}-%{release}
+
%description
This package contains the Xine library. Xine is a free multimedia player.
@@ -58,11 +68,31 @@ disk drives, and displays multimedia streamed over the Internet. It
interprets many of the most common multimedia formats available - and some
of the most uncommon formats, too. Non-default rpmbuild options:
--without imagemagick: Disable ImageMagick support
---with directfb: Enable DirectFB support
+--without directfb: Disable DirectFB support
+--with caca: Enable CACA support
%description devel
This package contains development files for xine-lib.
+%description extras
+This package contains extra plugins for xine-lib:
+ - Arts
+ - ESD
+ - Jack
+ - GNOME VFS
+ - SDL
+ - AAlib
+%if 0%{?_with_caca:1}
+ - CACAlib
+%endif
+%if 0%{!?_without_imagemagick:1}
+ - image decoding
+%endif
+%if 0%{!?_without_directfb:1}
+ - DirectFB output
+%endif
+
+
%prep
%setup -q
@@ -85,21 +115,24 @@ sed -i -e 's|"/lib /usr/lib\b|"/%{_lib} %{_libdir}|' configure
%build
-FFMPEG_CPPFLAGS=" "; FFMPEG_LIBS=" "; export FFMPEG_CPPFLAGS FFMPEG_LIBS
+export FFMPEG_CFLAGS=" " FFMPEG_LIBS=" "
+export FFMPEG_POSTPROC_CFLAGS=" " FFMPEG_POSTPROC_LIBS=" "
+export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)"
%configure --disable-dependency-tracking \
--with-xv-path=%{_libdir} \
--with-w32-path=%{codecdir} \
--with-external-ffmpeg \
--enable-ipv6 \
-%if 0%{?_with_directfb:1}
+%if 0%{!?_without_directfb:1}
--enable-directfb \
%endif
%if 0%{?_without_imagemagick:1}
- --disable-imagemagick \
+ --without-imagemagick \
+%endif
+%if 0%{!?_with_caca:1}
+ --without-caca \
%endif
- --disable-rte \
--disable-libfame \
- --disable-ffmpegtest \
--disable-faad \
--disable-mad \
--disable-asf \
@@ -146,7 +179,6 @@ rm -rf $RPM_BUILD_ROOT
%dir %{_libdir}/xine/plugins/%{version}/
# I list all the plugins because I don't want a non-free plugin
# to sneak into a future version
-# these plugins do not have legal problems according to the SuSE RPM
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_alsa.so
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_oss.so
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_none.so
@@ -154,6 +186,7 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_file.so
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_none.so
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_opengl.so
+%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_syncfb.so
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xshm.so
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xv.so
%{_libdir}/xine/plugins/%{version}/xineplug_inp_dvb.so
@@ -201,7 +234,6 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{version}/xineplug_flac.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_sputext.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_gdk_pixbuf.so
-%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_caca.so
%ifarch %ix86
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_vidix.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_qt.so
@@ -213,13 +245,24 @@ rm -rf $RPM_BUILD_ROOT
%endif
%{_libdir}/xine/plugins/%{version}/post/
%{_libdir}/xine/plugins/%{version}/vidix/
-# Put it in a xine-lib-extras package one day ?
+
+
+%files extras
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_arts.so
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_esd.so
+%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_jack.so
%{_libdir}/xine/plugins/%{version}/xineplug_inp_gnome_vfs.so
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_sdl.so
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_aa.so
+%if 0%{?_with_caca:1}
+%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_caca.so
+%endif
+%if 0%{!?_without_imagemagick:1}
%{_libdir}/xine/plugins/%{version}/xineplug_decode_image.so
+%endif
+%if 0%{!?_without_directfb:1}
+%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_directfb.so
+%endif
%files devel
@@ -233,9 +276,22 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/pkgconfig/libxine.pc
%{_mandir}/man1/xine-config.1*
-# --------------------------------------------------------------------
+
%changelog
+* Mon Dec 04 2006 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.3-1
+- version 1.1.3
+- patch2 applied upstream
+- Disable CACA support by default, needs newer than what's in FE ATM.
+- Split extras plugins in a separate package
+- Enable JACK support (in extras subpackage)
+- Enable DirectFB support (in extras subpackage)
+
+* Sat Nov 11 2006 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.2-18
+- Make shn files available to amarok. References:
+ http://xine.cvs.sourceforge.net/xine/xine-lib/src/demuxers/demux_shn.c?r1...
+ https://launchpad.net/distros/ubuntu/+source/xine-lib/+bug/63130
+
* Wed Oct 18 2006 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.2-17
- cleanup docs
- remove mms
commit d41fcd6ff7d181bf589b84c9973e9819984fec0f
Author: Aurelien Bompard <abompard(a)fedoraproject.org>
Date: Mon Oct 30 18:32:55 2006 +0000
auto-import xine-lib-1.1.2-17 on branch devel from xine-lib-1.1.2-17.src.rpm
diff --git a/.cvsignore b/.cvsignore
index e69de29..7d987ff 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -0,0 +1 @@
+xine-lib-1.1.2.tar.bz2
diff --git a/sources b/sources
index e69de29..b512d76 100644
--- a/sources
+++ b/sources
@@ -0,0 +1 @@
+d1afb34d2335f8c9ded4d9a2b741251e xine-lib-1.1.2.tar.bz2
diff --git a/xine-lib-1.1.1-configure-no-mcpu-march.patch b/xine-lib-1.1.1-configure-no-mcpu-march.patch
new file mode 100644
index 0000000..4b6ba9e
--- /dev/null
+++ b/xine-lib-1.1.1-configure-no-mcpu-march.patch
@@ -0,0 +1,13 @@
+--- m4/optimizations.m4.orig 2005-11-27 01:20:08.000000000 +0100
++++ m4/optimizations.m4 2005-11-27 01:22:56.000000000 +0100
+@@ -161,10 +161,6 @@
+ ;;
+
+ esac
+- if test x"$archopt_val" != x; then
+- CFLAGS="$sarchopt=$archopt_val $CFLAGS"
+- DEBUG_CFLAGS="$sarchopt=$archopt_val $DEBUG_CFLAGS"
+- fi
+ fi
+ else
+ dnl we have the Intel compiler
diff --git a/xine-lib-1.1.1-deepbind-939.patch b/xine-lib-1.1.1-deepbind-939.patch
new file mode 100644
index 0000000..b04400b
--- /dev/null
+++ b/xine-lib-1.1.1-deepbind-939.patch
@@ -0,0 +1,20 @@
+--- xine-lib-1.1.1/src/xine-engine/load_plugins.c.~1~ 2005-09-19 09:14:02.000000000 -0700
++++ xine-lib-1.1.1/src/xine-engine/load_plugins.c 2006-04-22 23:07:33.000000000 -0700
+@@ -591,7 +591,7 @@ static void collect_plugins(xine_t *this
+ printf("load_plugins: %s not cached\n", str);
+ #endif
+
+- if(!info && (lib = dlopen (str, RTLD_LAZY | RTLD_GLOBAL)) == NULL) {
++ if(!info && (lib = dlopen (str, RTLD_LAZY | RTLD_GLOBAL | RTLD_DEEPBIND)) == NULL) {
+ const char *error = dlerror();
+ /* too noisy -- but good to catch unresolved references */
+ xprintf(this, XINE_VERBOSITY_LOG,
+@@ -649,7 +649,7 @@ static int _load_plugin_class(xine_t *th
+ /* load the dynamic library if needed */
+ if (!node->file->lib_handle) {
+ lprintf("dlopen %s\n", filename);
+- if ((lib = dlopen (filename, RTLD_LAZY | RTLD_GLOBAL)) == NULL) {
++ if ((lib = dlopen (filename, RTLD_LAZY | RTLD_GLOBAL | RTLD_DEEPBIND)) == NULL) {
+ const char *error = dlerror();
+
+ xine_log (this, XINE_LOG_PLUGIN,
diff --git a/xine-lib-1.1.1-multilib-devel.patch b/xine-lib-1.1.1-multilib-devel.patch
new file mode 100644
index 0000000..ff0c549
--- /dev/null
+++ b/xine-lib-1.1.1-multilib-devel.patch
@@ -0,0 +1,40 @@
+--- misc/xine-config.in~ 2005-09-05 20:02:57.000000000 +0300
++++ misc/xine-config.in 2006-06-13 01:43:55.000000000 +0300
+@@ -2,8 +2,8 @@
+ #
+ #
+
+-prefix=@XINE_CONFIG_PREFIX@
+-exec_prefix=@exec_prefix@
++prefix=$(pkg-config libxine --variable=prefix)
++exec_prefix=$(pkg-config libxine --variable=exec_prefix)
+ exec_prefix_set=no
+
+ usage()
+@@ -54,7 +54,7 @@
+ echo_exec_prefix=yes
+ ;;
+ --version)
+- echo @XINE_MAJOR@.@XINE_MINOR@.(a)XINE_SUB@
++ pkg-config libxine --modversion
+ ;;
+ --acflags)
+ echo_acflags=yes
+@@ -100,14 +100,14 @@
+ fi
+
+ if test "$echo_cflags" = "yes"; then
+- echo -I@includedir@ @THREAD_CPPFLAGS@
++ pkg-config libxine --cflags
+ fi
+
+ if test "$echo_libs" = "yes"; then
+- echo -L@libdir@ -lxine @ZLIB_LIBS@ @NET_LIBS@ @THREAD_LIBS@ @LIBICONV@ @RT_LIBS@
++ pkg-config libxine --libs
+ fi
+ if test "$echo_plugindir" = "yes"; then
+- echo "@XINE_PLUGINPATH@"
++ echo "$(pkg-config libxine --variable=libdir)/xine/plugins/$(pkg-config libxine --modversion)"
+ fi
+ if test "$echo_datadir" = "yes"; then
+ echo "@XINE_DATADIR@"
diff --git a/xine-lib-cleanup-sources.sh b/xine-lib-cleanup-sources.sh
new file mode 100755
index 0000000..dfa3ef4
--- /dev/null
+++ b/xine-lib-cleanup-sources.sh
@@ -0,0 +1,65 @@
+#!/bin/bash
+
+if [ -z "$1" -o $# -ne 1 ]; then
+ echo "Usage: $0 <xine-version>"
+ exit 2
+fi
+
+version=$1
+tarball="xine-lib-$version.tar.bz2"
+dir="xine-lib-$version"
+
+
+if [ ! -f $tarball ]; then
+ echo "Can't find $tarball !"
+ exit 1
+fi
+
+echo "Uncompressing $tarball..."
+rm -rf $dir
+tar -xjf $tarball
+cd $dir
+
+# Main libraries
+for remove in libfaad libffmpeg libmad libmpeg2 dxr3 libspudec libxineadec libspucmml libspucc liba52 libdts; do
+ echo "removing src/$remove..."
+ rm -rf src/$remove
+ sed -i -e "/$remove/d" src/Makefile.am
+ sed -i -e "/^src\/$remove/d" configure.ac
+done
+# Input plugin libraries
+for remove in libdvdnav vcd; do
+ echo "removing src/input/$remove..."
+ rm -rf src/input/$remove
+ sed -i -e "s/SUBDIRS = \(.*\)${remove}\(.*\)/SUBDIRS = \1\2/g" src/input/Makefile.am
+ sed -i -e "/^src\/input\/$remove/d" configure.ac
+done
+# Input plugins
+for p in dvd vcd mms; do
+ echo "removing $p input plugin..."
+ # Remove sources
+ for sourcefile in `awk '/^xineplug_inp_'$p'_la_SOURCES/ { $1=""; $2=""; print $0}' src/input/Makefile.am`; do
+ if [ "`grep -c $sourcefile src/input/Makefile.am`" -le 1 ]; then # if this file is only used for this plugin
+ rm -f src/input/$sourcefile
+ fi
+ done
+ # Remove from Makefile
+ sed -i -e "/xineplug_inp_$p/d" src/input/Makefile.am
+done
+# Demuxers
+for p in mpeg mpeg_block mpeg_ts mpeg_elem mpeg_pes yuv4mpeg2; do
+ echo "removing $p demuxer..."
+ [ -f src/demuxers/demux_$p.c ] && rm -f src/demuxers/demux_$p.c
+ sed -i -e "/xineplug_dmx_$p/d" src/demuxers/Makefile.am
+done
+echo "removing planar and deinterlace postprocessors..."
+sed -i -e 's/planar//g;s/deinterlace//g' src/post/Makefile.am # fails to build
+
+# All clean !
+
+cd ..
+echo "Generating $tarball..."
+rm -f $tarball.orig
+mv $tarball $tarball.orig
+tar -cjf $tarball $dir
+rm -rf $dir
diff --git a/xine-lib.spec b/xine-lib.spec
new file mode 100644
index 0000000..faf767c
--- /dev/null
+++ b/xine-lib.spec
@@ -0,0 +1,262 @@
+# TODO, sometime, maybe:
+# - libstk: http://www.libstk.net/
+# - polypaudio
+
+%define codecdir %{_libdir}/codecs
+#%define vdrver 0.7.9
+
+Summary: Xine library
+Name: xine-lib
+Version: 1.1.2
+Release: 17%{?dist}
+License: GPL
+Group: System Environment/Libraries
+URL: http://xinehq.de/
+# The tarball is generated from the upstream tarball using
+# the script in SOURCE1. It prunes potentially patented code
+Source0: http://dl.sourceforge.net/xine/xine-lib-1.1.2.tar.bz2
+Source1: xine-lib-cleanup-sources.sh
+Patch1: xine-lib-1.1.1-configure-no-mcpu-march.patch
+Patch6: xine-lib-1.1.1-deepbind-939.patch
+Patch7: xine-lib-1.1.1-multilib-devel.patch
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
+# X11
+BuildRequires: libX11-devel libXv-devel libXinerama-devel libXvMC-devel libGLU-devel
+# Video
+BuildRequires: freetype-devel SDL-devel libtheora-devel libmng-devel
+BuildRequires: aalib-devel >= 1.4 libcaca-devel
+# Audio
+BuildRequires: libogg-devel libvorbis-devel flac-devel libmodplug-devel
+BuildRequires: esound-devel speex-devel arts-devel alsa-lib-devel >= 0.9.0
+# CDs
+BuildRequires: libcdio-devel
+# Other
+BuildRequires: pkgconfig gnome-vfs2-devel gtk2-devel
+BuildRequires: libtool >= 1.4.0 /usr/bin/automake-1.9 samba-common
+
+%if 0%{?_with_directfb:1}
+BuildRequires: directfb-devel
+%endif
+%if 0%{!?_without_imagemagick:1}
+BuildRequires: ImageMagick-devel >= 6.2.4.6-1
+%endif
+#Provides: %{name}(vdr) = %{vdrver}
+
+%package devel
+Summary: Xine library development files
+Group: Development/Libraries
+Requires: %{name} = %{version}-%{release}
+Requires: pkgconfig zlib-devel
+#Requires: %{name}(vdr) = %{vdrver}
+#Provides: %{name}-devel(vdr) = %{vdrver}
+
+
+%description
+This package contains the Xine library. Xine is a free multimedia player.
+It can play back various media. It also decodes multimedia files from local
+disk drives, and displays multimedia streamed over the Internet. It
+interprets many of the most common multimedia formats available - and some
+of the most uncommon formats, too. Non-default rpmbuild options:
+--without imagemagick: Disable ImageMagick support
+--with directfb: Enable DirectFB support
+
+%description devel
+This package contains development files for xine-lib.
+
+
+%prep
+%setup -q
+%patch1 -p0 -b .nomcpu
+###cp -p debian/changelog ChangeLog.vdr
+# Patch6 needed at least when compiling with external ffmpeg, #939.
+%patch6 -p1 -b .deepbind
+%patch7 -p0 -b .multilib-devel
+
+find . -name "*.[hc]" | xargs chmod -c -x
+
+aclocal-1.9 -I m4
+libtoolize --force
+autoheader
+automake-1.9 --gnu --add-missing
+autoconf
+
+# Avoid standard rpaths on lib64 archs:
+sed -i -e 's|"/lib /usr/lib\b|"/%{_lib} %{_libdir}|' configure
+
+
+%build
+FFMPEG_CPPFLAGS=" "; FFMPEG_LIBS=" "; export FFMPEG_CPPFLAGS FFMPEG_LIBS
+%configure --disable-dependency-tracking \
+ --with-xv-path=%{_libdir} \
+ --with-w32-path=%{codecdir} \
+ --with-external-ffmpeg \
+ --enable-ipv6 \
+%if 0%{?_with_directfb:1}
+ --enable-directfb \
+%endif
+%if 0%{?_without_imagemagick:1}
+ --disable-imagemagick \
+%endif
+ --disable-rte \
+ --disable-libfame \
+ --disable-ffmpegtest \
+ --disable-faad \
+ --disable-mad \
+ --disable-asf \
+ --disable-vcd \
+ --disable-a52dec \
+ --with-external-dvdnav --disable-dvdnavtest
+
+make %{?_smp_mflags}
+
+
+%install
+rm -rf $RPM_BUILD_ROOT __docs
+make install DESTDIR=$RPM_BUILD_ROOT
+%find_lang libxine1
+cp -pR $RPM_BUILD_ROOT%{_docdir}/xine __docs
+rm -rf $RPM_BUILD_ROOT%{_docdir}/xine
+
+# Removing useless files
+rm -Rf $RPM_BUILD_ROOT%{_libdir}/libxine.la __docs/README \
+ __docs/README.{freebsd,irix,solaris,MINGWCROSS,WIN32} \
+ __docs/README.{dxr3,network_dvd}
+
+# Directory for binary codecs
+mkdir -p $RPM_BUILD_ROOT%{codecdir}
+
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+
+%post -p /sbin/ldconfig
+%postun -p /sbin/ldconfig
+
+
+%files -f libxine1.lang
+%defattr(-,root,root,-)
+%doc AUTHORS COPYING CREDITS ChangeLog* README TODO __docs/README.* __docs/faq
+%dir %{codecdir}
+%{_datadir}/xine
+%{_libdir}/libxine.so.*
+%{_mandir}/man5/xine.5*
+%dir %{_libdir}/xine/
+%dir %{_libdir}/xine/plugins/
+%dir %{_libdir}/xine/plugins/%{version}/
+# I list all the plugins because I don't want a non-free plugin
+# to sneak into a future version
+# these plugins do not have legal problems according to the SuSE RPM
+%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_alsa.so
+%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_oss.so
+%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_none.so
+%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_fb.so
+%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_file.so
+%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_none.so
+%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_opengl.so
+%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xshm.so
+%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xv.so
+%{_libdir}/xine/plugins/%{version}/xineplug_inp_dvb.so
+%{_libdir}/xine/plugins/%{version}/xineplug_inp_v4l.so
+%{_libdir}/xine/plugins/%{version}/xineplug_inp_file.so
+%{_libdir}/xine/plugins/%{version}/xineplug_inp_http.so
+%{_libdir}/xine/plugins/%{version}/xineplug_inp_net.so
+%{_libdir}/xine/plugins/%{version}/xineplug_inp_pnm.so
+%{_libdir}/xine/plugins/%{version}/xineplug_inp_cdda.so
+%{_libdir}/xine/plugins/%{version}/xineplug_inp_smb.so
+%{_libdir}/xine/plugins/%{version}/xineplug_inp_stdin_fifo.so
+%{_libdir}/xine/plugins/%{version}/xineplug_inp_rtsp.so
+%{_libdir}/xine/plugins/%{version}/xineplug_inp_pvr.so
+%{_libdir}/xine/plugins/%{version}/xineplug_inp_rtp.so
+#%{_libdir}/xine/plugins/%{version}/xineplug_inp_vdr.so
+%{_libdir}/xine/plugins/%{version}/xineplug_decode_bitplane.so
+%{_libdir}/xine/plugins/%{version}/xineplug_decode_rgb.so
+%{_libdir}/xine/plugins/%{version}/xineplug_decode_vorbis.so
+%{_libdir}/xine/plugins/%{version}/xineplug_decode_yuv.so
+%{_libdir}/xine/plugins/%{version}/xineplug_decode_lpcm.so
+%{_libdir}/xine/plugins/%{version}/xineplug_decode_real.so
+%{_libdir}/xine/plugins/%{version}/xineplug_decode_real_audio.so
+%{_libdir}/xine/plugins/%{version}/xineplug_decode_speex.so
+%{_libdir}/xine/plugins/%{version}/xineplug_decode_theora.so
+%{_libdir}/xine/plugins/%{version}/xineplug_decode_spudvb.so
+%{_libdir}/xine/plugins/%{version}/xineplug_decode_mpc.so
+%{_libdir}/xine/plugins/%{version}/xineplug_dmx_yuv_frames.so
+%{_libdir}/xine/plugins/%{version}/xineplug_dmx_real.so
+%{_libdir}/xine/plugins/%{version}/xineplug_dmx_audio.so
+%{_libdir}/xine/plugins/%{version}/xineplug_dmx_iff.so
+%{_libdir}/xine/plugins/%{version}/xineplug_dmx_avi.so
+%{_libdir}/xine/plugins/%{version}/xineplug_dmx_flv.so
+%{_libdir}/xine/plugins/%{version}/xineplug_dmx_image.so
+%{_libdir}/xine/plugins/%{version}/xineplug_dmx_matroska.so
+%{_libdir}/xine/plugins/%{version}/xineplug_dmx_ogg.so
+%{_libdir}/xine/plugins/%{version}/xineplug_dmx_fli.so
+%{_libdir}/xine/plugins/%{version}/xineplug_dmx_nsv.so
+%{_libdir}/xine/plugins/%{version}/xineplug_dmx_mng.so
+%{_libdir}/xine/plugins/%{version}/xineplug_dmx_pva.so
+%{_libdir}/xine/plugins/%{version}/xineplug_dmx_qt.so
+%{_libdir}/xine/plugins/%{version}/xineplug_dmx_rawdv.so
+%{_libdir}/xine/plugins/%{version}/xineplug_dmx_sputext.so
+%{_libdir}/xine/plugins/%{version}/xineplug_dmx_games.so
+%{_libdir}/xine/plugins/%{version}/xineplug_dmx_slave.so
+%{_libdir}/xine/plugins/%{version}/xineplug_flac.so
+%{_libdir}/xine/plugins/%{version}/xineplug_decode_sputext.so
+%{_libdir}/xine/plugins/%{version}/xineplug_decode_gdk_pixbuf.so
+%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_caca.so
+%ifarch %ix86
+%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_vidix.so
+%{_libdir}/xine/plugins/%{version}/xineplug_decode_qt.so
+%{_libdir}/xine/plugins/%{version}/xineplug_decode_w32dll.so
+%endif
+%ifnarch ppc64 s390 s390x
+%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xxmc.so
+%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xvmc.so
+%endif
+%{_libdir}/xine/plugins/%{version}/post/
+%{_libdir}/xine/plugins/%{version}/vidix/
+# Put it in a xine-lib-extras package one day ?
+%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_arts.so
+%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_esd.so
+%{_libdir}/xine/plugins/%{version}/xineplug_inp_gnome_vfs.so
+%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_sdl.so
+%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_aa.so
+%{_libdir}/xine/plugins/%{version}/xineplug_decode_image.so
+
+
+%files devel
+%defattr(-,root,root,-)
+%doc __docs/hackersguide/*
+%{_bindir}/xine-config
+%{_datadir}/aclocal/xine.m4
+%{_includedir}/xine.h
+%{_includedir}/xine/
+%{_libdir}/libxine.so
+%{_libdir}/pkgconfig/libxine.pc
+%{_mandir}/man1/xine-config.1*
+
+# --------------------------------------------------------------------
+
+%changelog
+* Wed Oct 18 2006 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.2-17
+- cleanup docs
+- remove mms
+- delete more source files in the cleanup script
+- drop patch3 (affecting mms)
+
+* Tue Oct 17 2006 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.2-16
+- fix files list
+- add BR gtk2-devel
+- remove xineplug_decode_gdk_pixbuf.so from x86-only
+
+* Mon Oct 16 2006 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.2-15
+- removed libdts
+- drop dxr patch (it's removed from tarball)
+- list xineplug_decode_gdk_pixbuf.so and xineplug_vo_out_vidix.so only on x86
+
+* Sun Oct 15 2006 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.2-14
+- update SOURCE1 to remove liba52 from tarball (patented)
+
+* Tue Sep 12 2006 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.2-13
+- drop patches 2 and 4
+
+* Fri Sep 08 2006 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.2-12
+- initial Fedora Extras package
1 year, 4 months
Architecture specific change in rpms/xine-lib.git
by githook-noreply@fedoraproject.org
The package rpms/xine-lib.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/xine-lib.git/commit/?id=58be036c2...
https://src.fedoraproject.org/cgit/rpms/xine-lib.git/commit/?id=833c4969d...
https://src.fedoraproject.org/cgit/rpms/xine-lib.git/commit/?id=e51141ce4...
https://src.fedoraproject.org/cgit/rpms/xine-lib.git/commit/?id=f955cb1ab...
https://src.fedoraproject.org/cgit/rpms/xine-lib.git/commit/?id=016fec2ce...
https://src.fedoraproject.org/cgit/rpms/xine-lib.git/commit/?id=583b25cbe...
https://src.fedoraproject.org/cgit/rpms/xine-lib.git/commit/?id=ba91530bd...
https://src.fedoraproject.org/cgit/rpms/xine-lib.git/commit/?id=5c46b58bf...
https://src.fedoraproject.org/cgit/rpms/xine-lib.git/commit/?id=8a1dd4f6d...
https://src.fedoraproject.org/cgit/rpms/xine-lib.git/commit/?id=d41fcd6ff....
Change:
-%ifarch %{ix86}
+%ifarch %{ix86}
-%ifarch %{ix86}
+%ifarch %{arm}
+%ifarch %{ix86}
+%ifarch %{arm}
+%ifarch ppc64
+%ifarch %{ix86}
-%ifnarch ppc64 s390 s390x
+%ifnarch ppc64 s390 s390x
Thanks.
Full change:
============
commit 58be036c26e1a5eafb0566b5a747adc15b524fc2
Author: Neal Gompa <ngompa(a)fedoraproject.org>
Date: Mon Jan 23 10:01:56 2023 -0500
Rebase to version 1.2.12 based on RPM Fusion package
diff --git a/.gitignore b/.gitignore
index 6f9a840..1622692 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,3 +3,4 @@ xine-lib-1.1.19-pruned.tar.bz2
/xine-lib-1.1.20-pruned.tar.xz
/xine-lib-1.1.20.1-pruned.tar.xz
/xine-lib-1.1.21-pruned.tar.xz
+/xine-lib-1.2.12.tar.xz
diff --git a/Makefile b/Makefile
deleted file mode 100644
index 3f11a94..0000000
--- a/Makefile
+++ /dev/null
@@ -1,21 +0,0 @@
-# Makefile for source rpm: xine-lib
-# $Id$
-NAME := xine-lib
-SPECFILE = $(firstword $(wildcard *.spec))
-
-define find-makefile-common
-for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
-endef
-
-MAKEFILE_COMMON := $(shell $(find-makefile-common))
-
-ifeq ($(MAKEFILE_COMMON),)
-# attept a checkout
-define checkout-makefile-common
-test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2
-endef
-
-MAKEFILE_COMMON := $(shell $(checkout-makefile-common))
-endif
-
-include $(MAKEFILE_COMMON)
diff --git a/ffmpeg51.patch b/ffmpeg51.patch
new file mode 100644
index 0000000..40cec1e
--- /dev/null
+++ b/ffmpeg51.patch
@@ -0,0 +1,35 @@
+diff -uNrp a/src/combined/ffmpeg/ffmpeg_compat.h b/src/combined/ffmpeg/ffmpeg_compat.h
+--- a/src/combined/ffmpeg/ffmpeg_compat.h 2022-03-06 16:31:23.000000000 +0000
++++ b/src/combined/ffmpeg/ffmpeg_compat.h 2022-08-09 12:09:50.709059577 +0100
+@@ -19,6 +19,8 @@
+ *
+ * Compability macros for various ffmpeg versions
+ */
++#include <libavcodec/version.h>
++#include <libavutil/version.h>
+
+ #ifndef XINE_AVCODEC_COMPAT_H
+ #define XINE_AVCODEC_COMPAT_H
+diff -uNrp a/src/combined/ffmpeg/ffmpeg_decoder.h b/src/combined/ffmpeg/ffmpeg_decoder.h
+--- a/src/combined/ffmpeg/ffmpeg_decoder.h 2022-03-06 16:31:23.000000000 +0000
++++ b/src/combined/ffmpeg/ffmpeg_decoder.h 2022-08-09 12:42:16.081772933 +0100
+@@ -17,6 +17,8 @@
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
+ */
++#include <libavcodec/version.h>
++#include <libavformat/avformat.h>
+
+ #ifndef HAVE_XINE_DECODER_H
+ #define HAVE_XINE_DECODER_H
+diff -uNrp a/src/combined/ffmpeg/input_avio.c b/src/combined/ffmpeg/input_avio.c
+--- a/src/combined/ffmpeg/input_avio.c 2022-03-06 16:31:23.000000000 +0000
++++ b/src/combined/ffmpeg/input_avio.c 2022-08-09 11:33:54.527895581 +0100
+@@ -28,6 +28,7 @@
+ #include <string.h>
+ #include <pthread.h>
+
++#include <libavutil/avutil.h>
+ #include <libavformat/avio.h>
+
+ #define LOG_MODULE "libavio"
diff --git a/make_xinelib_snapshot.sh b/make_xinelib_snapshot.sh
new file mode 100644
index 0000000..c802a01
--- /dev/null
+++ b/make_xinelib_snapshot.sh
@@ -0,0 +1,20 @@
+#!/bin/bash
+
+# This script is intended to make a xine-lib snapshot.
+# If no argument is provided, it will make a snapshot of HEAD.
+# If the svn revision is provided as an argument, it will make a snapshot of
+# this revision.
+
+TMPDIR=$(mktemp -d)
+pushd "$TMPDIR" || exit
+echo -n "Cloning xine-lib-1.2 "
+[ -n "$1" ] && echo "revision $1" || echo "HEAD"
+[ -n "$1" ] && OPT="-u $1 " || OPT=""
+hg clone $OPT http://hg.code.sf.net/p/xine/xine-lib-1.2 xine-lib-1.2
+cd xine-lib-1.2 || exit
+autoreconf -vif
+./configure
+make dist
+popd || exit
+cp -p "$TMPDIR"/xine-lib-1.2/xine-lib-1.2*.tar.xz .
+rm -rf "$TMPDIR"
diff --git a/sources b/sources
index fd1b3c5..921d38c 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-1568a378a732bd9b69d418674ad4165c xine-lib-1.1.21-pruned.tar.xz
+SHA512 (xine-lib-1.2.12.tar.xz) = cdc913d0c78a3a34bd6e4060040fd844f22dbc673330e30769c83e9682a46f3369af8f59bd0c759ddc601de979b13d53e7ed10c54f3b78bdc63afceb484826be
diff --git a/xine-lib-1.1.16.2-multilib.patch b/xine-lib-1.1.16.2-multilib.patch
deleted file mode 100644
index 4609e63..0000000
--- a/xine-lib-1.1.16.2-multilib.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff -up xine-lib-1.1.16.2/misc/xine-config.in.multilib xine-lib-1.1.16.2/misc/xine-config.in
---- xine-lib-1.1.16.2/misc/xine-config.in.multilib 2008-06-25 08:04:09.000000000 -0500
-+++ xine-lib-1.1.16.2/misc/xine-config.in 2009-02-20 07:34:27.000000000 -0600
-@@ -6,12 +6,6 @@ unset prefix
- unset exec_prefix
- unset args
-
--PKG_CONFIG_PATH="`cat <<'EOF'
--@XINE_PKGCONFIG_DIR@
--EOF
--`${PKG_CONFIG_PATH:+:}$PKG_CONFIG_PATH"
--export PKG_CONFIG_PATH
--
- usage()
- {
- cat <<EOF
diff --git a/xine-lib-1.1.17-avsync_hack.patch b/xine-lib-1.1.17-avsync_hack.patch
deleted file mode 100644
index 5fa1ae1..0000000
--- a/xine-lib-1.1.17-avsync_hack.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff -up xine-lib-1.1.17/src/xine-engine/audio_out.c.avsync_hack xine-lib-1.1.17/src/xine-engine/audio_out.c
---- xine-lib-1.1.17/src/xine-engine/audio_out.c.avsync_hack 2009-11-30 19:33:30.000000000 -0600
-+++ xine-lib-1.1.17/src/xine-engine/audio_out.c 2009-12-02 09:07:37.622805780 -0600
-@@ -1156,8 +1156,17 @@ static void *ao_loop (void *this_gen) {
-
- /*
- * calculate gap:
-+ *
-+ * HACK (rwa): If we have no video stream we do not need an AV sync and so
-+ * we assume a gap of 0. This seems to avoid the skips in the
-+ * first seconds when playing audio-only via the "glitch-free"
-+ * pulseaudio server.
- */
-- gap = in_buf->vpts - hw_vpts;
-+ if (in_buf && in_buf->stream && in_buf->stream->video_decoder_plugin) {
-+ gap = in_buf->vpts - hw_vpts;
-+ } else {
-+ gap = 0;
-+ }
- lprintf ("hw_vpts : %" PRId64 " buffer_vpts : %" PRId64 " gap : %" PRId64 "\n",
- hw_vpts, in_buf->vpts, gap);
-
diff --git a/xine-lib-1.1.19-no_autopoint.patch b/xine-lib-1.1.19-no_autopoint.patch
deleted file mode 100644
index d5ee0cd..0000000
--- a/xine-lib-1.1.19-no_autopoint.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff -up xine-lib-1.1.17/autogen.sh.no_autopoint xine-lib-1.1.17/autogen.sh
---- xine-lib-1.1.17/autogen.sh.no_autopoint 2009-10-09 09:33:31.000000000 -0500
-+++ xine-lib-1.1.17/autogen.sh 2009-12-02 09:15:48.534555467 -0600
-@@ -229,10 +229,10 @@ run_aclocal () {
- echo
- fi
-
-- echo $_echo_n " + Running autopoint: $_echo_c"
-+ #echo $_echo_n " + Running autopoint: $_echo_c"
-
-- autopoint
-- echo "done."
-+ #autopoint
-+ #echo "done."
-
- echo $_echo_n " + Running aclocal: $_echo_c"
-
diff --git a/xine-lib-1.1.21-samba4.patch b/xine-lib-1.1.21-samba4.patch
deleted file mode 100644
index 6c5f67d..0000000
--- a/xine-lib-1.1.21-samba4.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-diff -ur xine-lib-1.1.21/configure.ac xine-lib-1.1.21-samba4/configure.ac
---- xine-lib-1.1.21/configure.ac 2012-07-16 21:42:38.000000000 +0200
-+++ xine-lib-1.1.21-samba4/configure.ac 2013-02-12 15:44:33.000000000 +0100
-@@ -1698,12 +1698,10 @@
- [with_samba=$enableval], [with_samba=yes])
-
- if test "x$with_samba" = "xyes"; then
-- AC_CHECK_LIB(smbclient, smbc_init,
-- [ AC_CHECK_HEADER(libsmbclient.h,
-- [ have_libsmbclient=yes
-- LIBSMBCLIENT_LIBS="-lsmbclient" ],
-- AC_MSG_RESULT([*** All libsmbclient dependent parts will be disabled ***]))],
-- AC_MSG_RESULT([*** All libsmbclient dependent parts will be disabled ***]))
-+ PKG_CHECK_MODULES([LIBSMBCLIENT], [smbclient],
-+ [have_libsmbclient=yes],
-+ AC_MSG_RESULT(*** All libsmbclient dependent parts will be disabled ***))
-+ AC_SUBST(LIBSMBCLIENT_CFLAGS)
- AC_SUBST(LIBSMBCLIENT_LIBS)
- fi
- AM_CONDITIONAL(HAVE_LIBSMBCLIENT, test "x$have_libsmbclient" = "xyes")
-diff -ur xine-lib-1.1.21/src/input/Makefile.am xine-lib-1.1.21-samba4/src/input/Makefile.am
---- xine-lib-1.1.21/src/input/Makefile.am 2012-07-16 21:42:38.000000000 +0200
-+++ xine-lib-1.1.21-samba4/src/input/Makefile.am 2013-02-12 15:46:45.000000000 +0100
-@@ -150,7 +150,7 @@
-
- xineplug_inp_smb_la_SOURCES = input_smb.c
- xineplug_inp_smb_la_LIBADD = $(XINE_LIB) $(LIBSMBCLIENT_LIBS) $(LTLIBINTL)
--xineplug_inp_smb_la_CFLAGS = $(VISIBILITY_FLAG) $(AM_CFLAGS)
-+xineplug_inp_smb_la_CFLAGS = $(VISIBILITY_FLAG) $(AM_CFLAGS) $(LIBSMBCLIENT_CFLAGS)
- xineplug_inp_smb_la_LDFLAGS = $(xineplug_ldflags)
-
- xineplug_inp_pvr_la_SOURCES = input_pvr.c
diff --git a/xine-lib-1.1.4-optflags.patch b/xine-lib-1.1.4-optflags.patch
deleted file mode 100644
index 72540f6..0000000
--- a/xine-lib-1.1.4-optflags.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- xine-lib-1.1.4/m4/optimizations.m4~ 2006-06-17 18:20:56.000000000 +0300
-+++ xine-lib-1.1.4/m4/optimizations.m4 2007-01-30 23:03:27.000000000 +0200
-@@ -107,7 +107,7 @@
-
- DEBUG_CFLAGS="-O $DEBUG_CFLAGS"
-
-- if test x"$sarchopt" != "xno"; then
-+ if false ; then
- archopt_val=
-
- case "$host_or_hostalias" in
diff --git a/xine-lib-1.2.12-dav1d_100_support.patch b/xine-lib-1.2.12-dav1d_100_support.patch
new file mode 100644
index 0000000..f2b66b2
--- /dev/null
+++ b/xine-lib-1.2.12-dav1d_100_support.patch
@@ -0,0 +1,40 @@
+# HG changeset patch
+# User Petri Hintukainen <phintuka(a)users.sourceforge.net>
+# Date 1648142359 -7200
+# Thu Mar 24 19:19:19 2022 +0200
+# Node ID 97248a71021428baa49e2b2af34f566a3257452a
+# Parent b044102cc61810eec217d3911028ec18f87408cc
+dav1d 1.0.0 support
+
+https://sourceforge.net/p/xine/tickets/11/
+
+diff -r b044102cc618 -r 97248a710214 ChangeLog
+--- a/ChangeLog Thu Mar 17 14:05:08 2022 +0200
++++ b/ChangeLog Thu Mar 24 19:19:19 2022 +0200
+@@ -1,3 +1,5 @@
++ * Add dav1d 1.0.0 support.
++
+ xine-lib (1.2.12) 2022-03-09
+ * Add string tree library (generic info parser).
+ * Add OpenSL ES audio output plugin.
+diff -r b044102cc618 -r 97248a710214 src/video_dec/dav1d.c
+--- a/src/video_dec/dav1d.c Thu Mar 17 14:05:08 2022 +0200
++++ b/src/video_dec/dav1d.c Thu Mar 24 19:19:19 2022 +0200
+@@ -544,11 +544,17 @@
+
+ /* multithreading */
+ ncpu = xine_cpu_count();
++#if DAV1D_API_VERSION_MAJOR > 5
++ settings.n_threads = ncpu + 1;
++ xprintf(stream->xine, XINE_VERBOSITY_DEBUG, LOG_MODULE ": "
++ "Using %d threads\n", settings.n_threads);
++#else
+ settings.n_frame_threads = (ncpu > 8) ? 4 : (ncpu < 2) ? 1 : ncpu/2;
+ settings.n_tile_threads = MAX(1, ncpu - settings.n_frame_threads + 1);
+ xprintf(stream->xine, XINE_VERBOSITY_DEBUG, LOG_MODULE ": "
+ "Using %d frame threads, %d tile threads\n",
+ settings.n_frame_threads, settings.n_tile_threads);
++#endif
+
+ /* dri frame allocator */
+ settings.allocator.cookie = this;
diff --git a/xine-lib-1.2.12-fix_older_libcaca.patch b/xine-lib-1.2.12-fix_older_libcaca.patch
new file mode 100644
index 0000000..85bb014
--- /dev/null
+++ b/xine-lib-1.2.12-fix_older_libcaca.patch
@@ -0,0 +1,22 @@
+# HG changeset patch
+# User Xavier Bachelot <xavier(a)bachelot.org>
+# Date 1646916446 -3600
+# Thu Mar 10 13:47:26 2022 +0100
+# Node ID 6488085f778dd8115562ca308e2a60b502954dfc
+# Parent 41217d6440d1f52478180d7e477aa7e7df953507
+Fix build with older libcaca
+
+This was introduced in 3f383e
+
+diff -r 41217d6440d1 -r 6488085f778d src/video_out/video_out_caca.c
+--- a/src/video_out/video_out_caca.c Wed Mar 09 15:12:14 2022 +0200
++++ b/src/video_out/video_out_caca.c Thu Mar 10 13:47:26 2022 +0100
+@@ -44,7 +44,7 @@
+ # define caca_get_canvas_height cucul_get_canvas_height
+ # define caca_free_canvas cucul_free_canvas
+ # define caca_dither_t cucul_dither_t
+-# define caca_create_dither define cucul_create_dither
++# define caca_create_dither cucul_create_dither
+ # define caca_dither_bitmap cucul_dither_bitmap
+ # define caca_free_dither cucul_free_dither
+ #endif
diff --git a/xine-lib-cleanup-sources.sh b/xine-lib-cleanup-sources.sh
deleted file mode 100755
index a250800..0000000
--- a/xine-lib-cleanup-sources.sh
+++ /dev/null
@@ -1,90 +0,0 @@
-#!/bin/bash
-
-if [ -z "$1" -o $# -ne 1 ]; then
- echo "Usage: $0 <xine-version>"
- exit 2
-fi
-
-version=$1
-tarball="xine-lib-$version.tar.xz"
-dir="xine-lib-$version"
-modtarball="xine-lib-$version-pruned.tar.xz"
-
-
-if [ ! -f $tarball ]; then
- echo "Can't find $tarball !"
- exit 1
-fi
-
-echo "Uncompressing $tarball..."
-rm -rf $dir
-tar -xJf $tarball
-cd $dir
-
-rmpluglib()
-{
- echo "removing src/$1/$2..."
- rm -rf src/$1/$2
- sed -i -e "s/SUBDIRS = \(.*\)$2\(.*\)/SUBDIRS = \1\2/g" src/$1/Makefile.am
- sed -i -e "/^src\/$1\/$2/d" configure.ac
-}
-
-# Main libraries
-for remove in libfaad libffmpeg libmad libmpeg2 libmpeg2new dxr3 liba52 libdts; do
- echo "removing src/$remove..."
- rm -rf src/$remove
- sed -i -e "/$remove/d" src/Makefile.am
- sed -i -e "/^src\/$remove/d" configure.ac
-done
-# Input plugin libraries
-for remove in vcd; do
- rmpluglib input vcd
-done
-for remove in ffmpeg; do
- rmpluglib combined ffmpeg
-done
-# Input plugins
-# DVD reading (dvd input plugin) has now been in Fedora for a while (libdvdread,
-# libdvdnav), the xine-lib code only wraps those libraries. (Decrypting and
-# decoding are of course still separate and forbidden in Fedora.)
-for p in vcd mms; do
- echo "removing $p input plugin..."
- # Remove sources
- for sourcefile in `awk '/^xineplug_inp_'$p'_la_SOURCES/ { $1=""; $2=""; print $0}' src/input/Makefile.am`; do
- if [ "`grep -v '^EXTRA_DIST = ' src/input/Makefile.am | grep -c $sourcefile`" -le 1 ]; then # if this file is only used for this plugin
- rm -f src/input/$sourcefile
- fi
- done
- # Remove from Makefile
- sed -i -e "/xineplug_inp_$p/d" src/input/Makefile.am
-done
-# Demuxers
-# These are ok now ( http://bugzilla.redhat.com/213597 )
-#for p in mpeg mpeg_block mpeg_ts mpeg_elem mpeg_pes yuv4mpeg2; do
-# echo "removing $p demuxer..."
-# [ -f src/demuxers/demux_$p.c ] && rm -f src/demuxers/demux_$p.c
-# sed -i -e "/xineplug_dmx_$p/d" src/demuxers/Makefile.am
-#done
-# Postprocessors
-echo "removing planar and deinterlace postprocessors..."
-sed -i -e 's/deinterlace //g' src/post/Makefile.am # see comments in speedy.c
-sed -i -e 's/planar //g' src/post/Makefile.am # requires libpostproc
-sed -i -e '/post\/\(deinterlace\|planar\)/d' configure.ac
-rm -rf src/post/{deinterlace,planar}
-# NSF decoder
-echo "removing NSF decoder..."
-rm -rf src/libxineadec/{nosefart,nsf.c}
-sed -i -e '/^xineplug_decode_nsf_la/,/^\s*$/d' \
- -e /xineplug_decode_nsf/d \
- -e 's/ nosefart//' \
- src/libxineadec/Makefile.am
-sed -i -e '/nosefart\/Makefile/d' configure.ac
-# Patches for forbidden libraries
-rm -fv misc/lib*.patch win32/scripts/*.patch
-
-# All clean !
-
-cd ..
-echo "Generating $modtarball..."
-tar -cJf $modtarball $dir
-rm -rf $dir
diff --git a/xine-lib.spec b/xine-lib.spec
index 0b1bf41..98cc30c 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -1,252 +1,194 @@
-# TODO, sometime, maybe:
-# - libstk: http://www.libstk.net/ - probably not, see 1.1.5 ChangeLog
-# - drop the opengl video out plugin?
-
-%define plugin_abi 1.30
-%define codecdir %{_libdir}/codecs
-
-%ifarch %{ix86}
- %define have_vidix 1
-%else
- %define have_vidix 0
-%endif # ix86
-
-%ifarch %{arm}
-%define _without_directfb 1
+%define _legacy_common_support 1
+%global plugin_abi 2.10
+%global codecdir %{_libdir}/codecs
+
+%if 0%{?el9}
+ # RHBZ 2031269 / 2031744
+ %global _without_dvdnav 1
+ # RHBZ 2031270
+ %global _without_nfs 1
%endif
-%if 0%{?fedora} > 14
-%define _disable_v4l1 1
-%endif
+# Not permitted in Fedora, ffmpeg covers this anyway
+%global _without_faad2 1
+%global _without_fame 1
-%if 0%{?fedora} > 16
-%define _without_esound 1
-%endif
+# Pending inclusion to Fedora
+%global _without_dca 1
+%global _without_vcd 1
-%if 0%{?fedora} > 16
-%define bluray 1
+%ifarch %{ix86}
+ %global have_vidix 1
+%else
+ %global have_vidix 0
%endif
-%if 0%{?fedora} > 19
-%define _without_directfb 1
-%endif
+#global snapshot 1
+#global date 20220307
+#global revision 15076
Summary: A multimedia engine
Name: xine-lib
-Version: 1.1.21
-Release: 10%{?dist}
-License: GPLv2+
-Group: System Environment/Libraries
-URL: http://www.xine-project.org/
-# The tarball is generated from the upstream tarball using
-# the script in SOURCE1. It prunes potentially patented code
-#Source0: http://downloads.sourceforge.net/xine/xine-lib-%{version}.tar.xz
-Source0: xine-lib-%{version}-pruned.tar.xz
-Source1: xine-lib-cleanup-sources.sh
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-
-Patch0: xine-lib-1.1.19-no_autopoint.patch
-Patch1: xine-lib-1.1.4-optflags.patch
-# http://bugzilla.redhat.com/470568
-Patch2: xine-lib-1.1.17-avsync_hack.patch
-# http://bugzilla.redhat.com/477226
-Patch3: xine-lib-1.1.16.2-multilib.patch
-# find the Samba 4 libsmbclient.h using pkg-config (#909825)
-Patch4: xine-lib-1.1.21-samba4.patch
-
-Provides: xine-lib(plugin-abi) = %{plugin_abi}
-%{?_isa:Provides: xine-lib(plugin-abi)%{?_isa} = %{plugin_abi}}
-
-# DVD plugin moved from there
-Conflicts: xine-lib-extras-freeworld < 1.1.21-3
-
-BuildRequires: autoconf automake libtool
-# X11
-BuildRequires: libX11-devel
-BuildRequires: libXv-devel
-BuildRequires: libXinerama-devel
-BuildRequires: libXvMC-devel
+Version: 1.2.12
+Release: 10%{?snapshot:.%{date}hg%{revision}}%{?dist}
+License: GPL-2.0-or-later
+URL: https://www.xine-project.org/
+%if ! 0%{?snapshot}
+Source0: https://downloads.sourceforge.net/xine/xine-lib-%{version}.tar.xz
+%else
+Source0: xine-lib-%{version}-%{date}hg%{revision}.tar.xz
+%endif
+# Script to make a snapshot
+Source1: make_xinelib_snapshot.sh
+
+# https://sourceforge.net/p/xine/xine-lib-1.2/ci/928cdea835e656d6e1411c767e...
+Patch1: xine-lib-1.2.12-fix_older_libcaca.patch
+# https://sourceforge.net/p/xine/xine-lib-1.2/ci/97248a71021428baa49e2b2af3...
+Patch2: xine-lib-1.2.12-dav1d_100_support.patch
+Patch3: ffmpeg51.patch
+
+Provides: xine-lib(plugin-abi) = %{plugin_abi}
+Provides: xine-lib(plugin-abi)%{?_isa} = %{plugin_abi}
+
+Obsoletes: xine-lib-extras-freeworld < 1.1.21-10
+Provides: xine-lib-extras-freeworld = %{version}-%{release}
+
+BuildRequires: a52dec-devel
+BuildRequires: aalib-devel
+BuildRequires: alsa-lib-devel
+%{!?_without_faad2:BuildRequires: faad2-devel}
+BuildRequires: ffmpeg-free-devel
+BuildRequires: flac-devel
+BuildRequires: fontconfig-devel
+BuildRequires: gcc
+BuildRequires: gettext-devel
+BuildRequires: gnutls-devel
+BuildRequires: gtk2-devel
+%{!?_without_imagemagick:BuildRequires: ImageMagick-devel}
+BuildRequires: pipewire-jack-audio-connection-kit-devel
+BuildRequires: libaom-devel >= 1.0.0
+BuildRequires: libbluray-devel >= 0.2.1
+BuildRequires: libcaca-devel
+BuildRequires: libcdio-devel
+BuildRequires: libdav1d-devel >= 0.3.1
+%{!?_without_dca:BuildRequires: libdca-devel}
+%{!?_without_dvdnav:BuildRequires: libdvdnav-devel}
+BuildRequires: libdvdread-devel
+%{!?_without_fame:BuildRequires: libfame-devel}
+BuildRequires: libgcrypt-devel
BuildRequires: libGLU-devel
-BuildRequires: libv4l-devel
-BuildRequires: libxcb-devel
-# Video
-BuildRequires: SDL-devel
-BuildRequires: libtheora-devel
+BuildRequires: libmad-devel
BuildRequires: libmng-devel
-BuildRequires: aalib-devel >= 1.4
-BuildRequires: libcaca-devel >= 0.99-0.5.beta14
-%if 0%{!?_without_directfb:1}
-BuildRequires: directfb-devel
-%endif # directfb
-BuildRequires: ImageMagick-devel >= 6.2.4.6-1
-%if 0%{?_with_freetype:1}
-BuildRequires: fontconfig-devel
-%endif # freetype
-# Audio
-BuildRequires: alsa-lib-devel >= 0.9.0
-%if 0%{!?_without_esound:1}
-BuildRequires: esound-devel
-%endif # esound
-BuildRequires: flac-devel
-BuildRequires: jack-audio-connection-kit-devel
BuildRequires: libmodplug-devel
BuildRequires: libmpcdec-devel
+%{!?_without_nfs:BuildRequires: libnfs-devel}
+BuildRequires: libpng-devel >= 1.6.0
+BuildRequires: libsmbclient-devel
+BuildRequires: libssh2-devel
+BuildRequires: libtheora-devel
+BuildRequires: libtool
+BuildRequires: libv4l-devel
+BuildRequires: libva-devel
+BuildRequires: libvdpau-devel
BuildRequires: libvorbis-devel
+BuildRequires: libvpx-devel
+BuildRequires: libX11-devel
+BuildRequires: libxcb-devel
+BuildRequires: libXext-devel
+BuildRequires: libXinerama-devel
+BuildRequires: libXt-devel
+BuildRequires: libXv-devel
+BuildRequires: mesa-libEGL-devel
+BuildRequires: openssl-devel >= 1.0.2
+BuildRequires: pkgconfig(libpulse)
+BuildRequires: SDL-devel
BuildRequires: speex-devel
+%{!?_without_vcd:BuildRequires: vcdimager-devel}
BuildRequires: wavpack-devel
-# CDs
-BuildRequires: libcdio-devel
-# Other
-BuildRequires: pkgconfig
-BuildRequires: pkgconfig(libpulse)
-BuildRequires: gtk2-devel
-BuildRequires: libsmbclient-devel
-BuildRequires: libdvdnav-devel
-BuildRequires: libdvdread-devel
-%if 0%{?bluray}
-BuildRequires: libbluray-devel
-%endif
+BuildRequires: wayland-devel
-# Dropped in Fedora 9
-Obsoletes: xine-lib-arts < %{version}-%{release}
-
-# Included in main package since Fedora 12
-Obsoletes: xine-lib-pulseaudio < 1.1.16.3-5
-Provides: xine-lib-pulseaudio = %{version}-%{release}
%description
This package contains the Xine library. It can be used to play back
various media, decode multimedia files from local disk drives, and display
multimedia streamed over the Internet. It interprets many of the most
-common multimedia formats available - and some uncommon formats, too.
+common multimedia formats available - and some uncommon formats, too.
%package devel
Summary: Xine library development files
-Group: Development/Libraries
Requires: %{name}%{?_isa} = %{version}-%{release}
-Requires: pkgconfig
-Requires: zlib-devel
+Requires: zlib-devel%{?_isa}
%description devel
This package contains development files for %{name}.
%package extras
-Summary: Additional plugins for %{name}
-Group: System Environment/Libraries
+Summary: Additional plugins for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
-#Requires: xine-lib(plugin-abi) = %{plugin_abi}
%description extras
This package contains extra plugins for %{name}:
-%if 0%{!?_without_esound:1}
- - EsounD
-%endif # esound
- JACK
- GDK-Pixbuf
- SMB
- SDL
- AA-lib
- Libcaca
- - Image decoding
-%if 0%{!?_without_directfb:1}
- - DirectFB output
-%endif # directfb
+%{!?_without_imagemagick: - Image decoding}
%prep
-%setup -q
-%patch0 -p1 -b .no_autopoint
-# extra work for to omit old libtool-related crud
-rm -f configure ltmain.sh libtool m4/libtool.m4 m4/ltoptions.m4 m4/ltversion.m4
-%patch1 -p1 -b .optflags
-%patch2 -p1 -b .avsync_hack
-%patch3 -p1 -b .multilib
-%patch4 -p1 -b .samba4
-
-./autogen.sh noconfig
+%autosetup -p1 %{?snapshot:-n %{name}-%{version}-%{date}hg%{revision}}
%build
-export FFMPEG_CFLAGS=" " FFMPEG_LIBS=" "
-export FFMPEG_POSTPROC_CFLAGS=" " FFMPEG_POSTPROC_LIBS=" "
-export FFMPEG_UTIL_CFLAGS=" " FFMPEG_UTIL_LIBS=" "
-export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)"
+autoreconf -fiv
# Keep list of options in mostly the same order as ./configure --help.
%configure \
--disable-dependency-tracking \
--enable-ipv6 \
-%if 0%{!?_without_directfb:1}
- --enable-directfb \
-%endif # directfb
- --enable-v4l \
+ --enable-v4l2 \
--enable-libv4l \
- --enable-xvmc \
--disable-gnomevfs \
- --disable-a52dec \
- --disable-mad \
- --disable-vcd \
- --disable-asf \
- --disable-faad \
-%if 0%{?_with_freetype:1}
-%if 0%{?_with_antialiasing:1}
+ %{?_without_faad2:--disable-faad} \
+ %{?_without_dca:--disable-dts} \
--enable-antialiasing \
-%endif # antialiasing
--with-freetype \
--with-fontconfig \
-%endif # freetype
--with-caca \
- --with-external-ffmpeg \
- --with-external-dvdnav \
+ %{!?_without_dvdnav:--with-external-dvdnav} \
--with-xv-path=%{_libdir} \
--with-libflac \
- --with-external-libmpcdec \
- --without-arts \
-%if 0%{?_without_esound:1}
--without-esound \
-%endif
--with-wavpack \
--with-real-codecs-path=%{codecdir} \
--with-w32-path=%{codecdir}
-make %{?_smp_mflags}
+# Remove rpath
+sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
+sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
+
+%make_build
%install
-rm -rf $RPM_BUILD_ROOT __docs
-make install DESTDIR=$RPM_BUILD_ROOT
-%find_lang libxine1
-cp -pR $RPM_BUILD_ROOT%{_docdir}/xine-lib __docs
-rm -rf $RPM_BUILD_ROOT%{_docdir}/xine-lib
+%make_install
+%find_lang libxine2
+mv %{buildroot}%{_docdir}/xine-lib __docs
# Removing useless files
-rm -Rf $RPM_BUILD_ROOT%{_libdir}/libxine.la __docs/README \
- __docs/README.{freebsd,irix,solaris,MINGWCROSS,WIN32} \
- __docs/README.{dxr3,network_dvd}
+rm -Rf %{buildroot}%{_libdir}/libxine*.la __docs/README \
+ __docs/README.{freebsd,irix,macosx,solaris,MINGWCROSS,WIN32}
# Directory for binary codecs
-mkdir -p $RPM_BUILD_ROOT%{codecdir}
+mkdir -p %{buildroot}%{codecdir}
-# unpackaged files
-%if 0%{?_disable_v4l1:1}
-rm -fv $RPM_BUILD_ROOT%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_pvr.so
-rm -fv $RPM_BUILD_ROOT%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_v4l.so
-%endif
-
-
-%clean
-rm -rf $RPM_BUILD_ROOT
-
-
-%post -p /sbin/ldconfig
-%postun -p /sbin/ldconfig
-
-
-%files -f libxine1.lang
-%defattr(-,root,root,-)
-%doc AUTHORS COPYING COPYING.LIB CREDITS ChangeLog* README TODO
+%files -f libxine2.lang
+%doc AUTHORS CREDITS ChangeLog* README TODO
%doc __docs/README.* __docs/faq.*
+%license COPYING COPYING.LIB
%dir %{codecdir}/
-%{_datadir}/xine/
-%{_libdir}/libxine.so.*
+%{_datadir}/xine-lib/
+%{_libdir}/libxine.so.2*
%{_mandir}/man5/xine.5*
%dir %{_libdir}/xine/
%dir %{_libdir}/xine/plugins/
@@ -259,7 +201,9 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_audio_filters.so
%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_goom.so
%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_mosaico.so
+%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_planar.so
%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_switch.so
+%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_tvtime.so
%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_visualizations.so
%if %{have_vidix}
%dir %{_libdir}/xine/plugins/%{plugin_abi}/vidix/
@@ -275,112 +219,104 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{plugin_abi}/vidix/savage_vid.so
%{_libdir}/xine/plugins/%{plugin_abi}/vidix/sis_vid.so
%{_libdir}/xine/plugins/%{plugin_abi}/vidix/unichrome_vid.so
-%endif # vidix
+%endif
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_alsa.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_file.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_none.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_oss.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_pulseaudio.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_bitplane.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_a52.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_dav1d.so
+%{!?_without_dca:%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_dts.so}
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_dvaudio.so
+%{!?_without_faad2:%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_faad.so}
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_ff.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_gsm610.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_libaom.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_libjpeg.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_libpng.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_libvpx.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_lpcm.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_mad.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_mpc.so
-%ifarch %{ix86}
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_qt.so
-%endif # ix86
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_mpeg2.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_rawvideo.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_real.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_rgb.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_speex.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spu.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spucc.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spucmml.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spudvb.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spuhdmv.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_sputext.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_theora.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_vorbis.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_to_spdif.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_vdpau.so
%ifarch %{ix86}
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_w32dll.so
-%endif # ix86
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_yuv.so
+%endif
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_asf.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_audio.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_avi.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_fli.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_flv.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_games.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_iff.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_image.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_matroska.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mng.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mpeg.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mpeg_block.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mpeg_elem.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mpeg_pes.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mpeg_ts.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_modplug.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_nsv.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_ogg.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_playlist.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_pva.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_qt.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_rawdv.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_real.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_slave.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_sputext.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_yuv_frames.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_yuv4mpeg2.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_video.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dxr3.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_flac.so
-%if 0%{?bluray}
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_hw_frame_vaapi.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_bluray.so
-%endif
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_cdda.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_crypto.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_dvb.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_dvd.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_file.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_http.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_net.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_pnm.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_rtp.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_rtsp.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_stdin_fifo.so
-%if ! 0%{?_disable_v4l1:1}
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_mms.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_network.so
+%{!?_without_nfs:%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_nfs.so}
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_pvr.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_v4l.so
-%endif
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_rtp.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_ssh.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_v4l2.so
+%{!?_without_vcd:%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_vcd.so}
+%{!?_without_vcd:%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_vcdo.so}
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_nsf.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_sputext.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_tls_gnutls.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_tls_openssl.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_va_display_drm.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_va_display_glx.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_va_display_wl.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_va_display_x11.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vdr.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_fb.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_none.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_gl_glx.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_gl_egl_x11.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_gl_egl_wl.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_opengl.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_opengl2.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_raw.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_syncfb.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_vaapi.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_vdpau.so
%if %{have_vidix}
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_vidix.so
-%endif # vidix
+%endif
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xcbshm.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xcbxv.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xshm.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xv.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xvmc.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xxmc.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_wavpack.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_xiph.so
%files extras
-%defattr(-,root,root,-)
-%if 0%{!?_without_esound:1}
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_esd.so
-%endif # esound
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_jack.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_gdk_pixbuf.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_image.so
+%{!?_without_imagemagick:%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_image.so}
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_smb.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_aa.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_caca.so
-%if 0%{!?_without_directfb:1}
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_directfb.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xdirectfb.so
-%endif # directfb
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_sdl.so
%files devel
-%defattr(-,root,root,-)
%doc __docs/hackersguide/*
%{_bindir}/xine-config
%{_bindir}/xine-list*
@@ -394,6 +330,306 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Mon Jan 23 2023 Neal Gompa <ngompa(a)fedoraproject.org> - 1.2.12-10
+- Adapt for Fedora
+
+* Sun Dec 04 2022 Sérgio Basto <sergio(a)serjux.com> - 1.2.12-9
+- Rebuild for libjxl on el9
+
+* Mon Sep 26 2022 Leigh Scott <leigh123linux(a)gmail.com> - 1.2.12-8
+- Rebuild for new flac
+
+* Sun Sep 04 2022 Leigh Scott <leigh123linux(a)gmail.com> - 1.2.12-7
+- Add requires ffmpeg-libs
+
+* Mon Aug 08 2022 RPM Fusion Release Engineering <sergiomb(a)rpmfusion.org> - 1.2.12-6
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild and ffmpeg
+ 5.1
+
+* Sat Jul 23 2022 Leigh Scott <leigh123linux(a)gmail.com> - 1.2.12-5
+- Rebuild for new ffmpeg
+
+* Thu Jun 23 2022 Robert-André Mauchin <zebob.m(a)gmail.com> - 1.2.12-4
+- Rebuilt for new AOM, dav1d and jpegxl
+
+* Fri Mar 25 2022 Xavier Bachelot <xavier(a)bachelot.org> - 1.2.12-3
+- Add patch for dav1d 1.0.0 support
+
+* Thu Mar 10 2022 Xavier Bachelot <xavier(a)bachelot.org> - 1.2.12-2
+- Fix build on EL7 and EL8
+
+* Thu Mar 10 2022 Xavier Bachelot <xavier(a)bachelot.org> - 1.2.12-1
+- Update to 1.2.12
+
+* Tue Mar 08 2022 Xavier Bachelot <xavier(a)bachelot.org> 1.2.11-14.20220307hg15076
+- Specfile clean up
+- Update xine-lib snapshot
+- Add support for EL9
+
+* Sat Feb 05 2022 Leigh Scott <leigh123linux(a)gmail.com> - 1.2.11-13.20220131hg15030
+- Update to xine-lib snapshot.
+
+* Wed Jan 19 2022 Nicolas Chauvet <kwizart(a)gmail.com> - 1.2.11-12
+- Rebuilt
+
+* Sat Dec 11 2021 Sérgio Basto <sergio(a)serjux.com> - 1.2.11-11
+- Rebuilt for new ImageMagick on F34
+
+* Thu Dec 02 2021 Sérgio Basto <sergio(a)serjux.com> - 1.2.11-10
+- Rebuilt for libjxl-0.6.1
+
+* Mon Nov 22 2021 Sérgio Basto <sergio(a)serjux.com> - 1.2.11-9
+- Rebuilt for new ImageMagick
+
+* Tue Aug 03 2021 RPM Fusion Release Engineering <leigh123linux(a)gmail.com> - 1.2.11-8
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
+
+* Sun Jun 13 2021 Robert-André Mauchin <zebob.m(a)gmail.com> - 1.2.11-7
+- Rebuild for new aom
+
+* Thu Feb 04 2021 RPM Fusion Release Engineering <leigh123linux(a)gmail.com> - 1.2.11-6
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
+
+* Thu Dec 31 2020 Leigh Scott <leigh123linux(a)gmail.com> - 1.2.11-5
+- Rebuilt for new ffmpeg snapshot
+
+* Mon Dec 14 2020 Leigh Scott <leigh123linux(a)gmail.com> - 1.2.11-4
+- Actually do the dav1d rebuild
+
+* Mon Dec 14 2020 Robert-André Mauchin <zebob.m(a)gmail.com> 1.2.11-3
+- Rebuild for dav1d SONAME bump
+
+* Fri Dec 11 2020 Xavier Bachelot <xavier(a)bachelot.org> 1.2.11-2
+- Drop support for EOL distros
+
+* Tue Dec 08 2020 Xavier Bachelot <xavier(a)bachelot.org> 1.2.11-1
+- Update to 1.2.11
+
+* Wed Oct 21 2020 Leigh Scott <leigh123linux(a)gmail.com> - 1.2.10-12
+- Rebuild for new libdvdread
+
+* Sat Oct 17 2020 Xavier Bachelot <xavier(a)bachelot.org> 1.2.10-11
+- Re-enable libssh2 for EL8 and F31+
+- Fix build if libssh2 support is disabled but libssh2-devel is installed (RFBZ#5796)
+
+* Wed Aug 19 2020 RPM Fusion Release Engineering <leigh123linux(a)gmail.com> - 1.2.10-10
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
+
+* Wed Jul 08 2020 Leigh Scott <leigh123linux(a)gmail.com> - 1.2.10-9
+- Rebuilt
+
+* Wed Jul 01 2020 Leigh Scott <leigh123linux(a)gmail.com> - 1.2.10-8
+- Rebuilt
+
+* Sun May 24 2020 Leigh Scott <leigh123linux(a)gmail.com> - 1.2.10-7
+- Rebuild for dav1d SONAME bump
+
+* Wed May 20 2020 Sérgio Basto <sergio(a)serjux.com> - 1.2.10-6
+- Rebuild for ImageMagick on el7
+
+* Fri Apr 10 2020 Leigh Scott <leigh123linux(a)gmail.com> - 1.2.10-5
+- Rebuild for new libcdio version
+
+* Sat Feb 22 2020 RPM Fusion Release Engineering <leigh123linux(a)googlemail.com> - 1.2.10-4
+- Rebuild for ffmpeg-4.3 git
+
+* Wed Feb 05 2020 RPM Fusion Release Engineering <leigh123linux(a)gmail.com> - 1.2.10-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
+
+* Sat Jan 18 2020 Xavier Bachelot <xavier(a)bachelot.org> 1.2.10-2
+- Disable libssh2 for EL8.
+
+* Fri Dec 13 2019 Xavier Bachelot <xavier(a)bachelot.org> 1.2.10-1
+- Update to 1.2.10.
+- Enable aom for EL7.
+- Enable libcaca and ImageMagick for EL8.
+
+* Fri Nov 15 2019 Dominik 'Rathann' Mierzejewski <rpm(a)greysector.net> - 1.2.9-22.20190831hg14506
+- rebuild for libdvdread ABI bump
+
+* Thu Oct 24 2019 Leigh Scott <leigh123linux(a)gmail.com> - 1.2.9-21.20190831hg14506
+- Rebuild for dav1d SONAME bump
+
+* Wed Sep 11 2019 Leigh Scott <leigh123linux(a)googlemail.com> - 1.2.9-20.20190831hg14506
+- Rebuild for new libnfs version
+
+* Tue Sep 03 2019 Xavier Bachelot <xavier(a)bachelot.org> 1.2.9-19.20190831hg14506
+- Fix 32 bits build.
+
+* Tue Sep 03 2019 Xavier Bachelot <xavier(a)bachelot.org> 1.2.9-18.20190831hg14506
+- Update xine-lib snapshot.
+- Enable libpng based video decoder.
+- Add XvMC support back.
+- Enable libdav1d based video decoder (F31+).
+- Rework features enablement.
+- Disable currently missing features on EL8.
+
+* Wed Aug 21 2019 Leigh Scott <leigh123linux(a)gmail.com> - 1.2.9-17.20190525hg14404
+- Rebuild for aom SONAME bump
+- Drop XvMC support (rfbz #5328)
+
+* Tue Aug 06 2019 Leigh Scott <leigh123linux(a)gmail.com> - 1.2.9-16.20190525hg14404
+- Rebuild for new ffmpeg version
+
+* Mon May 27 2019 Xavier Bachelot <xavier(a)bachelot.org> 1.2.9-15.20190525hg14404
+- Update xine-lib snapshot.
+- Remove now unneeded 32 bits build fix.
+- Cosmetic spec cleanup.
+- Remove unneeded SDL build flags setting.
+
+* Fri May 17 2019 Xavier Bachelot <xavier(a)bachelot.org> 1.2.9-14.20190516hg14396
+- Update to xine-lib snapshot.
+- Add script to make a snapshot.
+- Enable EGL support.
+- Enable mpeg2 encoding support for dxr3.
+- Don't glob soname.
+- Clean up and sort BuildRequires.
+- Enable fontconfig support.
+- No NFS support on EL6.
+- Add patch to revert gettext version bump on EL6.
+- No wayland nor openssl support on EL6.
+
+* Tue Mar 05 2019 RPM Fusion Release Engineering <leigh123linux(a)gmail.com> - 1.2.9-13.20181129hg14263
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
+
+* Mon Dec 10 2018 Xavier Bachelot <xavier(a)bachelot.org> 1.2.9-12.20181129hg14263
+- Update to xine-lib snapshot.
+- Enable SSH and NFS input plugins.
+- Enable TLS support.
+- Enable AV1 support through libaom (Fedora only).
+- Add support for RPI.
+
+* Thu Dec 06 2018 Antonio Trande <sagitter(a)fedoraproject.org> - 1.2.9-11
+- Rebuild for ffmpeg-3.* on el7
+
+* Wed Aug 29 2018 Xavier Bachelot <xavier(a)bachelot.org> 1.2.9-10.1
+- Rebuilt for ImageMagick soname bump.
+
+* Sun Aug 19 2018 Leigh Scott <leigh123linux(a)googlemail.com> - 1.2.9-9
+- Rebuilt for Fedora 29 Mass Rebuild binutils issue
+
+* Fri Jul 27 2018 RPM Fusion Release Engineering <leigh123linux(a)gmail.com> - 1.2.9-8
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
+
+* Fri Jul 20 2018 Xavier Bachelot <xavier(a)bachelot.org> 1.2.9-7
+- Add BR: gcc.
+
+* Thu Mar 08 2018 RPM Fusion Release Engineering <leigh123linux(a)googlemail.com> - 1.2.9-6
+- Rebuilt for new ffmpeg snapshot
+
+* Thu Mar 01 2018 RPM Fusion Release Engineering <leigh123linux(a)googlemail.com> - 1.2.9-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
+
+* Sat Jan 27 2018 Leigh Scott <leigh123linux(a)googlemail.com> - 1.2.9-4
+- Rebuild for new libcdio, libvpx and vcdimager
+
+* Thu Jan 18 2018 Leigh Scott <leigh123linux(a)googlemail.com> - 1.2.9-3
+- Rebuilt for ffmpeg-3.5 git
+
+* Mon Jan 15 2018 Nicolas Chauvet <kwizart(a)gmail.com> - 1.2.9-2
+- Rebuilt for VA-API 1.0.0
+
+* Fri Jan 12 2018 Xavier Bachelot <xavier(a)bachelot.org> 1.2.9-1
+- Update to 1.2.9.
+
+* Sun Aug 27 2017 Nicolas Chauvet <kwizart(a)gmail.com> - 1.2.8-4
+- Rebuilt for ImageMagick
+
+* Sat Apr 29 2017 Leigh Scott <leigh123linux(a)googlemail.com> - 1.2.8-3
+- Rebuild for ffmpeg update
+
+* Tue Mar 21 2017 RPM Fusion Release Engineering <kwizart(a)rpmfusion.org> - 1.2.8-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
+
+* Tue Feb 21 2017 Xavier Bachelot <xavier(a)bachelot.org> 1.2.8-1
+- Update to 1.2.8.
+- All patches are now upstream, remove them.
+- Use %%license.
+- Fix building on EL6.
+- Drop now obsolete BR: gawk and sed.
+
+* Fri Nov 18 2016 Adrian Reber <adrian(a)lisas.de> - 1.2.6-14
+- Rebuilt for libcdio-0.94
+
+* Sat Jul 30 2016 Julian Sikorski <belegdol(a)fedoraproject.org> - 1.2.6-13
+- Rebuilt for ffmpeg-3.1.1
+
+* Mon Jul 25 2016 Sérgio Basto <sergio(a)serjux.com> - 1.2.6-12
+- Fix build with libxcb-1.12, https://bugs.xine-project.org/show_bug.cgi?id=573
+
+* Fri Jul 08 2016 Sérgio Basto <sergio(a)serjux.com> - 1.2.6-11
+- Build again with vcd support
+
+* Fri Jul 01 2016 Sérgio Basto <sergio(a)serjux.com> - 1.2.6-10
+- Remove BR: vcdimager-devel and disable vcd; package retired in F24
+
+* Sun May 01 2016 Sérgio Basto <sergio(a)serjux.com> - 1.2.6-9
+- Add patch to build with ffmpeg3
+
+* Tue Nov 04 2014 Nicolas Chauvet <kwizart(a)gmail.com> - 1.2.6-8
+- Rebuilt for vaapi 0.36
+
+* Mon Oct 20 2014 Sérgio Basto <sergio(a)serjux.com> - 1.2.6-7
+- Rebuilt for FFmpeg 2.4.3
+
+* Wed Oct 01 2014 Sérgio Basto <sergio(a)serjux.com> - 1.2.6-6
+- Rebuilt again for FFmpeg 2.3.x (with FFmpeg 2.3.x in build root)
+
+* Wed Oct 01 2014 Sérgio Basto <sergio(a)serjux.com> - 1.2.6-5
+- Rebuilt for FFmpeg 2.3.x (with FFmpeg 2.3.x in build root)
+
+* Sat Sep 27 2014 kwizart <kwizart(a)gmail.com> - 1.2.6-4
+- Rebuilt for FFmpeg 2.3x
+
+* Thu Sep 25 2014 Xavier Bachelot <xavier(a)bachelot.org> 1.2.6-3
+- Rebuild for ffmpeg 2.4.
+
+* Thu Aug 07 2014 Sérgio Basto <sergio(a)serjux.com> - 1.2.6-2
+- Rebuilt for ffmpeg-2.3
+
+* Sun Jul 06 2014 Xavier Bachelot <xavier(a)bachelot.org> 1.2.6-1
+- Update to 1.2.6.
+
+* Tue Apr 08 2014 Xavier Bachelot <xavier(a)bachelot.org> 1.2.5-1
+- Update to 1.2.5.
+- Drop upstream'ed patch.
+- Enable VP8/9 decoder through libvpx.
+
+* Tue Mar 25 2014 Xavier Bachelot <xavier(a)bachelot.org> 1.2.4-5
+- Rebuild for ffmpeg 2.2.
+
+* Wed Feb 26 2014 Nicolas Chauvet <kwizart(a)gmail.com> - 1.2.4-4
+- Rebuilt for libcdio
+
+* Tue Nov 05 2013 Xavier Bachelot <xavier(a)bachelot.org> 1.2.4-3
+- Rebuild for ffmpeg 2.1.
+
+* Sat Oct 12 2013 Xavier Bachelot <xavier(a)bachelot.org> 1.2.4-2
+- Make the build more verbose.
+- Don't run autogen.sh gratuitously and drop BR: autoconf automake libtool.
+ Consequently, add a code snippet to remove rpath.
+- Drop obsolete no autopoint patch and Requires: gettext-devel instead.
+- Drop obsolete Requires: pkgconfig for -devel subpackage.
+- Drop obsolete Group: tags.
+- Bump xine-lib-extras-freeworld Obsoletes:.
+
+* Tue Sep 24 2013 Xavier Bachelot <xavier(a)bachelot.org> 1.2.4-1
+- Update to 1.2.4.
+- Drop upstream'ed patches and hacks.
+- More spec file cleanup.
+
+* Fri Sep 20 2013 Xavier Bachelot <xavier(a)bachelot.org> 1.2.3-2
+- Update to 1.2.3.
+- Merge xine-lib and xine-lib-extras-freeworld.
+- Use pristine source.
+- Clean up old Obsoletes/Provides.
+- Clean up old conditional building.
+- Clean up spec.
+- Enable VDPAU support.
+- Enable VAAPI support.
+- Add a patch to fix a lock up when vaapi plugin init fails.
+- Move test input plugin to -extras.
+
* Fri Sep 20 2013 Xavier Bachelot <xavier(a)bachelot.org> 1.1.21-10
- Rebuild for libbluray-0.4.0.
commit 833c4969df915f96cc396c822d11c65f1b9231b4
Author: Tomas Hrcka <thrcka(a)redhat.com>
Date: Mon Jan 23 15:57:22 2023 +0100
Unretirement request: https://pagure.io/releng/issue/11232
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..6f9a840
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,5 @@
+xine-lib-1.1.19-autotools.patch.bz2
+xine-lib-1.1.19-pruned.tar.bz2
+/xine-lib-1.1.20-pruned.tar.xz
+/xine-lib-1.1.20.1-pruned.tar.xz
+/xine-lib-1.1.21-pruned.tar.xz
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..3f11a94
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,21 @@
+# Makefile for source rpm: xine-lib
+# $Id$
+NAME := xine-lib
+SPECFILE = $(firstword $(wildcard *.spec))
+
+define find-makefile-common
+for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
+endef
+
+MAKEFILE_COMMON := $(shell $(find-makefile-common))
+
+ifeq ($(MAKEFILE_COMMON),)
+# attept a checkout
+define checkout-makefile-common
+test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2
+endef
+
+MAKEFILE_COMMON := $(shell $(checkout-makefile-common))
+endif
+
+include $(MAKEFILE_COMMON)
diff --git a/dead.package b/dead.package
deleted file mode 100644
index 0a5049b..0000000
--- a/dead.package
+++ /dev/null
@@ -1 +0,0 @@
-Moved to RPM Fusion
diff --git a/sources b/sources
new file mode 100644
index 0000000..fd1b3c5
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+1568a378a732bd9b69d418674ad4165c xine-lib-1.1.21-pruned.tar.xz
diff --git a/xine-lib-1.1.16.2-multilib.patch b/xine-lib-1.1.16.2-multilib.patch
new file mode 100644
index 0000000..4609e63
--- /dev/null
+++ b/xine-lib-1.1.16.2-multilib.patch
@@ -0,0 +1,16 @@
+diff -up xine-lib-1.1.16.2/misc/xine-config.in.multilib xine-lib-1.1.16.2/misc/xine-config.in
+--- xine-lib-1.1.16.2/misc/xine-config.in.multilib 2008-06-25 08:04:09.000000000 -0500
++++ xine-lib-1.1.16.2/misc/xine-config.in 2009-02-20 07:34:27.000000000 -0600
+@@ -6,12 +6,6 @@ unset prefix
+ unset exec_prefix
+ unset args
+
+-PKG_CONFIG_PATH="`cat <<'EOF'
+-@XINE_PKGCONFIG_DIR@
+-EOF
+-`${PKG_CONFIG_PATH:+:}$PKG_CONFIG_PATH"
+-export PKG_CONFIG_PATH
+-
+ usage()
+ {
+ cat <<EOF
diff --git a/xine-lib-1.1.17-avsync_hack.patch b/xine-lib-1.1.17-avsync_hack.patch
new file mode 100644
index 0000000..5fa1ae1
--- /dev/null
+++ b/xine-lib-1.1.17-avsync_hack.patch
@@ -0,0 +1,22 @@
+diff -up xine-lib-1.1.17/src/xine-engine/audio_out.c.avsync_hack xine-lib-1.1.17/src/xine-engine/audio_out.c
+--- xine-lib-1.1.17/src/xine-engine/audio_out.c.avsync_hack 2009-11-30 19:33:30.000000000 -0600
++++ xine-lib-1.1.17/src/xine-engine/audio_out.c 2009-12-02 09:07:37.622805780 -0600
+@@ -1156,8 +1156,17 @@ static void *ao_loop (void *this_gen) {
+
+ /*
+ * calculate gap:
++ *
++ * HACK (rwa): If we have no video stream we do not need an AV sync and so
++ * we assume a gap of 0. This seems to avoid the skips in the
++ * first seconds when playing audio-only via the "glitch-free"
++ * pulseaudio server.
+ */
+- gap = in_buf->vpts - hw_vpts;
++ if (in_buf && in_buf->stream && in_buf->stream->video_decoder_plugin) {
++ gap = in_buf->vpts - hw_vpts;
++ } else {
++ gap = 0;
++ }
+ lprintf ("hw_vpts : %" PRId64 " buffer_vpts : %" PRId64 " gap : %" PRId64 "\n",
+ hw_vpts, in_buf->vpts, gap);
+
diff --git a/xine-lib-1.1.19-no_autopoint.patch b/xine-lib-1.1.19-no_autopoint.patch
new file mode 100644
index 0000000..d5ee0cd
--- /dev/null
+++ b/xine-lib-1.1.19-no_autopoint.patch
@@ -0,0 +1,17 @@
+diff -up xine-lib-1.1.17/autogen.sh.no_autopoint xine-lib-1.1.17/autogen.sh
+--- xine-lib-1.1.17/autogen.sh.no_autopoint 2009-10-09 09:33:31.000000000 -0500
++++ xine-lib-1.1.17/autogen.sh 2009-12-02 09:15:48.534555467 -0600
+@@ -229,10 +229,10 @@ run_aclocal () {
+ echo
+ fi
+
+- echo $_echo_n " + Running autopoint: $_echo_c"
++ #echo $_echo_n " + Running autopoint: $_echo_c"
+
+- autopoint
+- echo "done."
++ #autopoint
++ #echo "done."
+
+ echo $_echo_n " + Running aclocal: $_echo_c"
+
diff --git a/xine-lib-1.1.21-samba4.patch b/xine-lib-1.1.21-samba4.patch
new file mode 100644
index 0000000..6c5f67d
--- /dev/null
+++ b/xine-lib-1.1.21-samba4.patch
@@ -0,0 +1,32 @@
+diff -ur xine-lib-1.1.21/configure.ac xine-lib-1.1.21-samba4/configure.ac
+--- xine-lib-1.1.21/configure.ac 2012-07-16 21:42:38.000000000 +0200
++++ xine-lib-1.1.21-samba4/configure.ac 2013-02-12 15:44:33.000000000 +0100
+@@ -1698,12 +1698,10 @@
+ [with_samba=$enableval], [with_samba=yes])
+
+ if test "x$with_samba" = "xyes"; then
+- AC_CHECK_LIB(smbclient, smbc_init,
+- [ AC_CHECK_HEADER(libsmbclient.h,
+- [ have_libsmbclient=yes
+- LIBSMBCLIENT_LIBS="-lsmbclient" ],
+- AC_MSG_RESULT([*** All libsmbclient dependent parts will be disabled ***]))],
+- AC_MSG_RESULT([*** All libsmbclient dependent parts will be disabled ***]))
++ PKG_CHECK_MODULES([LIBSMBCLIENT], [smbclient],
++ [have_libsmbclient=yes],
++ AC_MSG_RESULT(*** All libsmbclient dependent parts will be disabled ***))
++ AC_SUBST(LIBSMBCLIENT_CFLAGS)
+ AC_SUBST(LIBSMBCLIENT_LIBS)
+ fi
+ AM_CONDITIONAL(HAVE_LIBSMBCLIENT, test "x$have_libsmbclient" = "xyes")
+diff -ur xine-lib-1.1.21/src/input/Makefile.am xine-lib-1.1.21-samba4/src/input/Makefile.am
+--- xine-lib-1.1.21/src/input/Makefile.am 2012-07-16 21:42:38.000000000 +0200
++++ xine-lib-1.1.21-samba4/src/input/Makefile.am 2013-02-12 15:46:45.000000000 +0100
+@@ -150,7 +150,7 @@
+
+ xineplug_inp_smb_la_SOURCES = input_smb.c
+ xineplug_inp_smb_la_LIBADD = $(XINE_LIB) $(LIBSMBCLIENT_LIBS) $(LTLIBINTL)
+-xineplug_inp_smb_la_CFLAGS = $(VISIBILITY_FLAG) $(AM_CFLAGS)
++xineplug_inp_smb_la_CFLAGS = $(VISIBILITY_FLAG) $(AM_CFLAGS) $(LIBSMBCLIENT_CFLAGS)
+ xineplug_inp_smb_la_LDFLAGS = $(xineplug_ldflags)
+
+ xineplug_inp_pvr_la_SOURCES = input_pvr.c
diff --git a/xine-lib-1.1.4-optflags.patch b/xine-lib-1.1.4-optflags.patch
new file mode 100644
index 0000000..72540f6
--- /dev/null
+++ b/xine-lib-1.1.4-optflags.patch
@@ -0,0 +1,11 @@
+--- xine-lib-1.1.4/m4/optimizations.m4~ 2006-06-17 18:20:56.000000000 +0300
++++ xine-lib-1.1.4/m4/optimizations.m4 2007-01-30 23:03:27.000000000 +0200
+@@ -107,7 +107,7 @@
+
+ DEBUG_CFLAGS="-O $DEBUG_CFLAGS"
+
+- if test x"$sarchopt" != "xno"; then
++ if false ; then
+ archopt_val=
+
+ case "$host_or_hostalias" in
diff --git a/xine-lib-cleanup-sources.sh b/xine-lib-cleanup-sources.sh
new file mode 100755
index 0000000..a250800
--- /dev/null
+++ b/xine-lib-cleanup-sources.sh
@@ -0,0 +1,90 @@
+#!/bin/bash
+
+if [ -z "$1" -o $# -ne 1 ]; then
+ echo "Usage: $0 <xine-version>"
+ exit 2
+fi
+
+version=$1
+tarball="xine-lib-$version.tar.xz"
+dir="xine-lib-$version"
+modtarball="xine-lib-$version-pruned.tar.xz"
+
+
+if [ ! -f $tarball ]; then
+ echo "Can't find $tarball !"
+ exit 1
+fi
+
+echo "Uncompressing $tarball..."
+rm -rf $dir
+tar -xJf $tarball
+cd $dir
+
+rmpluglib()
+{
+ echo "removing src/$1/$2..."
+ rm -rf src/$1/$2
+ sed -i -e "s/SUBDIRS = \(.*\)$2\(.*\)/SUBDIRS = \1\2/g" src/$1/Makefile.am
+ sed -i -e "/^src\/$1\/$2/d" configure.ac
+}
+
+# Main libraries
+for remove in libfaad libffmpeg libmad libmpeg2 libmpeg2new dxr3 liba52 libdts; do
+ echo "removing src/$remove..."
+ rm -rf src/$remove
+ sed -i -e "/$remove/d" src/Makefile.am
+ sed -i -e "/^src\/$remove/d" configure.ac
+done
+# Input plugin libraries
+for remove in vcd; do
+ rmpluglib input vcd
+done
+for remove in ffmpeg; do
+ rmpluglib combined ffmpeg
+done
+# Input plugins
+# DVD reading (dvd input plugin) has now been in Fedora for a while (libdvdread,
+# libdvdnav), the xine-lib code only wraps those libraries. (Decrypting and
+# decoding are of course still separate and forbidden in Fedora.)
+for p in vcd mms; do
+ echo "removing $p input plugin..."
+ # Remove sources
+ for sourcefile in `awk '/^xineplug_inp_'$p'_la_SOURCES/ { $1=""; $2=""; print $0}' src/input/Makefile.am`; do
+ if [ "`grep -v '^EXTRA_DIST = ' src/input/Makefile.am | grep -c $sourcefile`" -le 1 ]; then # if this file is only used for this plugin
+ rm -f src/input/$sourcefile
+ fi
+ done
+ # Remove from Makefile
+ sed -i -e "/xineplug_inp_$p/d" src/input/Makefile.am
+done
+# Demuxers
+# These are ok now ( http://bugzilla.redhat.com/213597 )
+#for p in mpeg mpeg_block mpeg_ts mpeg_elem mpeg_pes yuv4mpeg2; do
+# echo "removing $p demuxer..."
+# [ -f src/demuxers/demux_$p.c ] && rm -f src/demuxers/demux_$p.c
+# sed -i -e "/xineplug_dmx_$p/d" src/demuxers/Makefile.am
+#done
+# Postprocessors
+echo "removing planar and deinterlace postprocessors..."
+sed -i -e 's/deinterlace //g' src/post/Makefile.am # see comments in speedy.c
+sed -i -e 's/planar //g' src/post/Makefile.am # requires libpostproc
+sed -i -e '/post\/\(deinterlace\|planar\)/d' configure.ac
+rm -rf src/post/{deinterlace,planar}
+# NSF decoder
+echo "removing NSF decoder..."
+rm -rf src/libxineadec/{nosefart,nsf.c}
+sed -i -e '/^xineplug_decode_nsf_la/,/^\s*$/d' \
+ -e /xineplug_decode_nsf/d \
+ -e 's/ nosefart//' \
+ src/libxineadec/Makefile.am
+sed -i -e '/nosefart\/Makefile/d' configure.ac
+# Patches for forbidden libraries
+rm -fv misc/lib*.patch win32/scripts/*.patch
+
+# All clean !
+
+cd ..
+echo "Generating $modtarball..."
+tar -cJf $modtarball $dir
+rm -rf $dir
diff --git a/xine-lib.spec b/xine-lib.spec
new file mode 100644
index 0000000..0b1bf41
--- /dev/null
+++ b/xine-lib.spec
@@ -0,0 +1,741 @@
+# TODO, sometime, maybe:
+# - libstk: http://www.libstk.net/ - probably not, see 1.1.5 ChangeLog
+# - drop the opengl video out plugin?
+
+%define plugin_abi 1.30
+%define codecdir %{_libdir}/codecs
+
+%ifarch %{ix86}
+ %define have_vidix 1
+%else
+ %define have_vidix 0
+%endif # ix86
+
+%ifarch %{arm}
+%define _without_directfb 1
+%endif
+
+%if 0%{?fedora} > 14
+%define _disable_v4l1 1
+%endif
+
+%if 0%{?fedora} > 16
+%define _without_esound 1
+%endif
+
+%if 0%{?fedora} > 16
+%define bluray 1
+%endif
+
+%if 0%{?fedora} > 19
+%define _without_directfb 1
+%endif
+
+Summary: A multimedia engine
+Name: xine-lib
+Version: 1.1.21
+Release: 10%{?dist}
+License: GPLv2+
+Group: System Environment/Libraries
+URL: http://www.xine-project.org/
+# The tarball is generated from the upstream tarball using
+# the script in SOURCE1. It prunes potentially patented code
+#Source0: http://downloads.sourceforge.net/xine/xine-lib-%{version}.tar.xz
+Source0: xine-lib-%{version}-pruned.tar.xz
+Source1: xine-lib-cleanup-sources.sh
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+
+Patch0: xine-lib-1.1.19-no_autopoint.patch
+Patch1: xine-lib-1.1.4-optflags.patch
+# http://bugzilla.redhat.com/470568
+Patch2: xine-lib-1.1.17-avsync_hack.patch
+# http://bugzilla.redhat.com/477226
+Patch3: xine-lib-1.1.16.2-multilib.patch
+# find the Samba 4 libsmbclient.h using pkg-config (#909825)
+Patch4: xine-lib-1.1.21-samba4.patch
+
+Provides: xine-lib(plugin-abi) = %{plugin_abi}
+%{?_isa:Provides: xine-lib(plugin-abi)%{?_isa} = %{plugin_abi}}
+
+# DVD plugin moved from there
+Conflicts: xine-lib-extras-freeworld < 1.1.21-3
+
+BuildRequires: autoconf automake libtool
+# X11
+BuildRequires: libX11-devel
+BuildRequires: libXv-devel
+BuildRequires: libXinerama-devel
+BuildRequires: libXvMC-devel
+BuildRequires: libGLU-devel
+BuildRequires: libv4l-devel
+BuildRequires: libxcb-devel
+# Video
+BuildRequires: SDL-devel
+BuildRequires: libtheora-devel
+BuildRequires: libmng-devel
+BuildRequires: aalib-devel >= 1.4
+BuildRequires: libcaca-devel >= 0.99-0.5.beta14
+%if 0%{!?_without_directfb:1}
+BuildRequires: directfb-devel
+%endif # directfb
+BuildRequires: ImageMagick-devel >= 6.2.4.6-1
+%if 0%{?_with_freetype:1}
+BuildRequires: fontconfig-devel
+%endif # freetype
+# Audio
+BuildRequires: alsa-lib-devel >= 0.9.0
+%if 0%{!?_without_esound:1}
+BuildRequires: esound-devel
+%endif # esound
+BuildRequires: flac-devel
+BuildRequires: jack-audio-connection-kit-devel
+BuildRequires: libmodplug-devel
+BuildRequires: libmpcdec-devel
+BuildRequires: libvorbis-devel
+BuildRequires: speex-devel
+BuildRequires: wavpack-devel
+# CDs
+BuildRequires: libcdio-devel
+# Other
+BuildRequires: pkgconfig
+BuildRequires: pkgconfig(libpulse)
+BuildRequires: gtk2-devel
+BuildRequires: libsmbclient-devel
+BuildRequires: libdvdnav-devel
+BuildRequires: libdvdread-devel
+%if 0%{?bluray}
+BuildRequires: libbluray-devel
+%endif
+
+# Dropped in Fedora 9
+Obsoletes: xine-lib-arts < %{version}-%{release}
+
+# Included in main package since Fedora 12
+Obsoletes: xine-lib-pulseaudio < 1.1.16.3-5
+Provides: xine-lib-pulseaudio = %{version}-%{release}
+
+%description
+This package contains the Xine library. It can be used to play back
+various media, decode multimedia files from local disk drives, and display
+multimedia streamed over the Internet. It interprets many of the most
+common multimedia formats available - and some uncommon formats, too.
+
+%package devel
+Summary: Xine library development files
+Group: Development/Libraries
+Requires: %{name}%{?_isa} = %{version}-%{release}
+Requires: pkgconfig
+Requires: zlib-devel
+%description devel
+This package contains development files for %{name}.
+
+%package extras
+Summary: Additional plugins for %{name}
+Group: System Environment/Libraries
+Requires: %{name}%{?_isa} = %{version}-%{release}
+#Requires: xine-lib(plugin-abi) = %{plugin_abi}
+%description extras
+This package contains extra plugins for %{name}:
+%if 0%{!?_without_esound:1}
+ - EsounD
+%endif # esound
+ - JACK
+ - GDK-Pixbuf
+ - SMB
+ - SDL
+ - AA-lib
+ - Libcaca
+ - Image decoding
+%if 0%{!?_without_directfb:1}
+ - DirectFB output
+%endif # directfb
+
+
+%prep
+%setup -q
+%patch0 -p1 -b .no_autopoint
+# extra work for to omit old libtool-related crud
+rm -f configure ltmain.sh libtool m4/libtool.m4 m4/ltoptions.m4 m4/ltversion.m4
+%patch1 -p1 -b .optflags
+%patch2 -p1 -b .avsync_hack
+%patch3 -p1 -b .multilib
+%patch4 -p1 -b .samba4
+
+./autogen.sh noconfig
+
+
+%build
+export FFMPEG_CFLAGS=" " FFMPEG_LIBS=" "
+export FFMPEG_POSTPROC_CFLAGS=" " FFMPEG_POSTPROC_LIBS=" "
+export FFMPEG_UTIL_CFLAGS=" " FFMPEG_UTIL_LIBS=" "
+export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)"
+# Keep list of options in mostly the same order as ./configure --help.
+%configure \
+ --disable-dependency-tracking \
+ --enable-ipv6 \
+%if 0%{!?_without_directfb:1}
+ --enable-directfb \
+%endif # directfb
+ --enable-v4l \
+ --enable-libv4l \
+ --enable-xvmc \
+ --disable-gnomevfs \
+ --disable-a52dec \
+ --disable-mad \
+ --disable-vcd \
+ --disable-asf \
+ --disable-faad \
+%if 0%{?_with_freetype:1}
+%if 0%{?_with_antialiasing:1}
+ --enable-antialiasing \
+%endif # antialiasing
+ --with-freetype \
+ --with-fontconfig \
+%endif # freetype
+ --with-caca \
+ --with-external-ffmpeg \
+ --with-external-dvdnav \
+ --with-xv-path=%{_libdir} \
+ --with-libflac \
+ --with-external-libmpcdec \
+ --without-arts \
+%if 0%{?_without_esound:1}
+ --without-esound \
+%endif
+ --with-wavpack \
+ --with-real-codecs-path=%{codecdir} \
+ --with-w32-path=%{codecdir}
+
+make %{?_smp_mflags}
+
+
+%install
+rm -rf $RPM_BUILD_ROOT __docs
+make install DESTDIR=$RPM_BUILD_ROOT
+%find_lang libxine1
+cp -pR $RPM_BUILD_ROOT%{_docdir}/xine-lib __docs
+rm -rf $RPM_BUILD_ROOT%{_docdir}/xine-lib
+
+# Removing useless files
+rm -Rf $RPM_BUILD_ROOT%{_libdir}/libxine.la __docs/README \
+ __docs/README.{freebsd,irix,solaris,MINGWCROSS,WIN32} \
+ __docs/README.{dxr3,network_dvd}
+
+# Directory for binary codecs
+mkdir -p $RPM_BUILD_ROOT%{codecdir}
+
+# unpackaged files
+%if 0%{?_disable_v4l1:1}
+rm -fv $RPM_BUILD_ROOT%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_pvr.so
+rm -fv $RPM_BUILD_ROOT%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_v4l.so
+%endif
+
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+
+%post -p /sbin/ldconfig
+
+%postun -p /sbin/ldconfig
+
+
+%files -f libxine1.lang
+%defattr(-,root,root,-)
+%doc AUTHORS COPYING COPYING.LIB CREDITS ChangeLog* README TODO
+%doc __docs/README.* __docs/faq.*
+%dir %{codecdir}/
+%{_datadir}/xine/
+%{_libdir}/libxine.so.*
+%{_mandir}/man5/xine.5*
+%dir %{_libdir}/xine/
+%dir %{_libdir}/xine/plugins/
+%dir %{_libdir}/xine/plugins/%{plugin_abi}/
+%{_libdir}/xine/plugins/%{plugin_abi}/mime.types
+# Listing every plugin separately for better control over binary packages
+# containing exactly the plugins we want, nothing accidentally snuck in
+# nor dropped.
+%dir %{_libdir}/xine/plugins/%{plugin_abi}/post/
+%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_audio_filters.so
+%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_goom.so
+%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_mosaico.so
+%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_switch.so
+%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_visualizations.so
+%if %{have_vidix}
+%dir %{_libdir}/xine/plugins/%{plugin_abi}/vidix/
+%{_libdir}/xine/plugins/%{plugin_abi}/vidix/cyberblade_vid.so
+%{_libdir}/xine/plugins/%{plugin_abi}/vidix/mach64_vid.so
+%{_libdir}/xine/plugins/%{plugin_abi}/vidix/mga_crtc2_vid.so
+%{_libdir}/xine/plugins/%{plugin_abi}/vidix/mga_vid.so
+%{_libdir}/xine/plugins/%{plugin_abi}/vidix/nvidia_vid.so
+%{_libdir}/xine/plugins/%{plugin_abi}/vidix/pm2_vid.so
+%{_libdir}/xine/plugins/%{plugin_abi}/vidix/pm3_vid.so
+%{_libdir}/xine/plugins/%{plugin_abi}/vidix/radeon_vid.so
+%{_libdir}/xine/plugins/%{plugin_abi}/vidix/rage128_vid.so
+%{_libdir}/xine/plugins/%{plugin_abi}/vidix/savage_vid.so
+%{_libdir}/xine/plugins/%{plugin_abi}/vidix/sis_vid.so
+%{_libdir}/xine/plugins/%{plugin_abi}/vidix/unichrome_vid.so
+%endif # vidix
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_alsa.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_file.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_none.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_oss.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_pulseaudio.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_bitplane.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_gsm610.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_lpcm.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_mpc.so
+%ifarch %{ix86}
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_qt.so
+%endif # ix86
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_real.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_rgb.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_speex.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spu.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spucc.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spucmml.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spudvb.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spuhdmv.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_sputext.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_theora.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_vorbis.so
+%ifarch %{ix86}
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_w32dll.so
+%endif # ix86
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_yuv.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_audio.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_avi.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_fli.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_flv.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_games.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_iff.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_image.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_matroska.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mng.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mpeg.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mpeg_block.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mpeg_elem.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mpeg_pes.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mpeg_ts.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_nsv.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_ogg.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_pva.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_qt.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_rawdv.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_real.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_slave.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_sputext.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_yuv_frames.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_yuv4mpeg2.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_flac.so
+%if 0%{?bluray}
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_bluray.so
+%endif
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_cdda.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_dvb.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_dvd.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_file.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_http.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_net.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_pnm.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_rtp.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_rtsp.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_stdin_fifo.so
+%if ! 0%{?_disable_v4l1:1}
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_pvr.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_v4l.so
+%endif
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_v4l2.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_fb.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_none.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_opengl.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_raw.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_syncfb.so
+%if %{have_vidix}
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_vidix.so
+%endif # vidix
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xcbshm.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xcbxv.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xshm.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xv.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xvmc.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xxmc.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_wavpack.so
+
+%files extras
+%defattr(-,root,root,-)
+%if 0%{!?_without_esound:1}
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_esd.so
+%endif # esound
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_jack.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_gdk_pixbuf.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_image.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_smb.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_aa.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_caca.so
+%if 0%{!?_without_directfb:1}
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_directfb.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xdirectfb.so
+%endif # directfb
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_sdl.so
+
+%files devel
+%defattr(-,root,root,-)
+%doc __docs/hackersguide/*
+%{_bindir}/xine-config
+%{_bindir}/xine-list*
+%{_datadir}/aclocal/xine.m4
+%{_includedir}/xine.h
+%{_includedir}/xine/
+%{_libdir}/libxine.so
+%{_libdir}/pkgconfig/libxine.pc
+%{_mandir}/man1/xine-config.1*
+%{_mandir}/man1/xine-list*.1*
+
+
+%changelog
+* Fri Sep 20 2013 Xavier Bachelot <xavier(a)bachelot.org> 1.1.21-10
+- Rebuild for libbluray-0.4.0.
+
+* Sat Aug 31 2013 Till Maas <opensource(a)till.name> - 1.1.21-9
+- Disable directfb support for Fedora 20 and newer, because it was retired
+
+* Tue Aug 27 2013 Jon Ciesla <limburgher(a)gmail.com> - 1.1.21-8
+- libmng rebuild.
+
+* Sun Aug 04 2013 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1.1.21-7
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
+
+* Sat Mar 30 2013 Kevin Fenzi <kevin(a)scrye.com> - 1.1.21-6
+- Rebuild for broken deps in rawhide
+
+* Tue Feb 12 2013 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.21-5
+- find the Samba 4 libsmbclient.h using pkg-config, fixes FTBFS (#909825)
+
+* Mon Sep 17 2012 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.21-4
+- rebuild for new directfb
+
+* Sun Jul 22 2012 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1.1.21-3.1
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
+
+* Sat Jul 21 2012 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.21-2.1
+- disable libbluray support on F16, libbluray too old
+
+* Mon Jul 16 2012 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.21-2
+- do not remove DVD plugin, not encumbered (only uses libdvdread/libdvdnav)
+
+* Tue Jun 12 2012 Xavier Bachelot <xavier(a)bachelot.org> 1.1.21-1
+- Update to 1.1.21.
+- Enable libbluray support.
+
+* Sat Mar 10 2012 Rex Dieter <rdieter(a)fedoraproject.org> 1.1.20.1-3
+- rebuild (ImageMagick)
+
+* Sat Jan 14 2012 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1.1.20.1-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
+
+* Tue Jan 03 2012 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.20.1-1
+- update to 1.1.20.1 (bugfix release)
+- drop upstreamed link-libdvdread patch
+
+* Sun Nov 20 2011 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.20-1
+- update to 1.1.20 (#753758)
+- use .xz tarball
+- drop old conditionals
+- drop ESD (esound) support on F17+ (native PulseAudio just works)
+- drop autotools patch, run autogen.sh in %%prep instead
+- drop unused deepbind patch
+- drop xvmclib_header patch, fixed upstream
+- use the system libdvdnav (and libdvdread) instead of the bundled one
+- fix system libdvdnav support to also link libdvdread
+- plugin ABI is now 1.30
+
+* Fri Jul 15 2011 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.19-7
+- rebuild for new DirectFB (1.5.0)
+
+* Mon Feb 14 2011 Rex Dieter <rdieter(a)fedoraproject.org> 1.1.19-6
+- split v4l, libv4l handling
+- omit v4l(1) bits (f15+)
+
+* Mon Feb 07 2011 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1.1.19-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
+
+* Mon Jan 24 2011 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.19-4
+- xvmclib header changes, fixes ftbfs (#635653,#661071)
+
+* Sun Nov 28 2010 Kevin Kofler <Kevin(a)tigcc.ticalc.org> - 1.1.19-3
+- rebuild for new directfb (1.4.11)
+
+* Wed Sep 15 2010 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.19-2
+- rebuild (ImageMagick)
+
+* Sun Jul 25 2010 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.19-1
+- 1.1.19
+
+* Mon Jul 19 2010 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.18.1-3
+- no directfb on arm (yet)
+
+* Tue Jun 1 2010 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.18.1-2
+- Rebuild.
+
+* Sun Mar 07 2010 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.18.1-1
+- xine-lib-1.1.18.1
+
+* Sun Mar 07 2010 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.18-2
+- rebuild (ImageMagick)
+
+* Wed Feb 24 2010 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.18-1
+- xine-lib-1.1.18, plugin-abi 1.28 (#567913)
+
+* Sat Dec 12 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.17-3
+- bump flac_decoder priority (rh#301861,xine#225)
+
+* Mon Dec 07 2009 Bastien Nocera <bnocera(a)redhat.com> 1.1.17-2
+- Remove gnome-vfs2 plugin, it's mostly useless
+
+* Wed Dec 02 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.17-1
+- xine-lib-1.1.17, plugin-abi 1.27
+
+* Sun Nov 29 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.3-5
+- move -pulseaudio into main pkg (f12+)
+- update URL
+
+* Mon Jul 27 2009 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1.1.16.3-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
+
+* Thu Jul 02 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.3-3
+- rebuild (DirectFB)
+
+* Fri Apr 17 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.3-2.1
+- drop old_caca hacks/patches (F-9)
+
+* Fri Apr 10 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.3-2
+- fix modtracker mimetypes
+
+* Fri Apr 03 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.3-1
+- xine-lib-1.1.16.3, plugin-abi 1.26
+
+* Thu Mar 26 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.2-6
+- add-mime-for-mod.patch
+
+* Tue Mar 10 2009 Kevin Kofler <Kevin(a)tigcc.ticalc.org> - 1.1.16.2-5
+- rebuild for new ImageMagick
+
+* Thu Feb 26 2009 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1.1.16.2-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
+
+* Fri Feb 20 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.2-3
+- xine-lib-devel muiltilib conflict (#477226)
+
+* Tue Feb 17 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.2-2
+- xine-lib-safe-audio-pause3 patch (#486255, kdebug#180339)
+
+* Tue Feb 10 2009 Kevin Kofler <Kevin(a)tigcc.ticalc.org> - 1.1.16.2-1.1
+- also patch the caca version check in configure(.ac)
+
+* Tue Feb 10 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.2-1
+- xine-lib-1.1.16.2
+
+* Mon Feb 09 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.1-4
+- gapless-race-fix patch (kdebug#180339)
+
+* Sat Feb 07 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.1-3
+- safe-audio-pause patch (kdebug#180339)
+
+* Mon Jan 26 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.1-2
+- Provides: xine-lib(plugin-abi)%%{?_isa} = %%{plugin_abi}
+- touchup Summary/Description
+
+* Fri Jan 23 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.1-1
+- xine-lib-1.1.16.1
+- include avsync patch (#470568)
+
+* Sun Jan 18 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16-2
+- drop deepbind patch (#480504)
+- caca support (EPEL)
+
+* Wed Jan 07 2009 Kevin Kofler <Kevin(a)tigcc.ticalc.org> - 1.1.16-1.1
+- patch for old libcaca in F9-
+
+* Wed Jan 07 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16-1
+- xine-lib-1.1.16, plugin ABI 1.25
+- --with-external-libdvdnav, include mpeg demuxers (#213597)
+
+* Fri Dec 12 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.15-4
+- rebuild for pkgconfig deps
+
+* Tue Oct 28 2008 Kevin Kofler <Kevin(a)tigcc.ticalc.org> - 1.1.15-3
+- rebuild for new libcaca
+
+* Thu Oct 23 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.15-2
+- respin
+
+* Wed Aug 20 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.15-1
+- xine-lib-1.1.15, plugin ABI 1.24 (rh#455752, CVE-2008-3231)
+- Obsoletes: -arts (f9+)
+
+* Sun Apr 27 2008 Kevin Kofler <Kevin(a)tigcc.ticalc.org> - 1.1.12-3
+- rebuild for new ImageMagick (6.4.0.10)
+
+* Thu Apr 24 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.12-2
+- CVE-2008-1878
+
+* Wed Apr 16 2008 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.12-1
+- 1.1.12 (plugin ABI 1.21); qt, mkv, and pulseaudio patches applied upstream.
+
+* Wed Apr 9 2008 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.11.1-3
+- Apply upstream fixes for Quicktime (#441705) and Matroska regressions
+ introduced in 1.1.11.1.
+
+* Mon Apr 07 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.11.1-2
+- pulse-rework2 patch (#439731)
+- -pulseaudio subpkg (#439731)
+
+* Sun Mar 30 2008 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.11.1-1
+- 1.1.11.1 (security update, #438663, CVE-2008-1482).
+- Provide versioned xine-lib(plugin-abi) so 3rd party packages installing
+ plugins can use it instead of requiring a version of xine-lib.
+
+* Wed Mar 19 2008 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.11-1
+- 1.1.11 (security update, #438182, CVE-2008-0073).
+- Drop jack and wavpack build conditionals.
+- Specfile cleanups.
+
+* Fri Mar 7 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.10.1-1.1
+- xcb support for f7+ (#373411)
+
+* Fri Feb 8 2008 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.10.1-1
+- 1.1.10.1 (security update, #431541).
+
+* Sun Jan 27 2008 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.10-2
+- Include spu, spucc, and spucmml decoders (#213597).
+
+* Sun Jan 27 2008 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.10-1
+- 1.1.10 (security update).
+
+* Mon Jan 21 2008 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.9.1-3
+- Fix version number in libxine.pc (#429487).
+
+* Sun Jan 20 2008 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.9.1-2
+- Disable upstream "discard buffers on ao close" 1.1.9 changeset (#429182).
+
+* Sat Jan 12 2008 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.9.1-1
+- 1.1.9.1 (security update).
+
+* Sun Jan 6 2008 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.9-1
+- 1.1.9.
+
+* Thu Sep 27 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.8-6
+- Enable wavpack support by default for all distros.
+
+* Sun Sep 23 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.8-5
+- Enable JACK support by default for all distros.
+
+* Wed Sep 19 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.8-4
+- Fix "--without wavpack" build.
+
+* Sat Sep 15 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.8-3
+- Move XCB plugins to the main package.
+- Make aalib, caca, pulseaudio, jack, and wavpack support optional at build
+ time in preparation for the first EPEL build.
+
+* Sun Sep 09 2007 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.8-2
+- remove the dependency from -extras to -arts, and use Obsoletes to
+ provide an upgrade path
+
+* Thu Aug 30 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.8-1
+- 1.1.8, "open" patch applied upstream.
+- Build XCB plugins by default for Fedora 8+ only.
+
+* Sat Aug 25 2007 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.7-3
+- Split the aRts plugin into its own subpackage
+
+* Tue Aug 14 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.7-2
+- Include XCB output plugins (in -extras at least for now).
+- Protect "open" with glibc 2.6.90 and -D_FORTIFY_SOURCE=2.
+- Clean up %%configure options.
+- License: GPLv2+
+
+* Thu Jun 7 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.7-1
+- 1.1.7.
+
+* Wed Jun 06 2007 Rex Dieter <rdieter[AT]fedoraproject.org> - 1.1.6-3
+- respin (for libmpcdec)
+
+* Wed Apr 25 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.6-2
+- Make Real codec search path /usr/lib(64)/codecs again (#237743).
+
+* Wed Apr 18 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.6-1
+- 1.1.6.
+
+* Wed Apr 11 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.5-1
+- 1.1.5.
+- Include GSM 06.10 decoder (#228186).
+- Re-enable CACA support.
+
+* Sun Apr 8 2007 Ville Skyttä <ville.skytta(a)iki.fi>
+- Exclude vidix dir on systems that don't have vidix.
+- Specfile cleanups.
+
+* Mon Mar 26 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.4-4
+- Add PulseAudio support (in -extras, #234035/Jost Diederichs).
+- Adjust Samba build dependencies to work for both <= and > FC6.
+- Add --with freetype and --with antialiasing build time options,
+ default disabled, and an upstream patch for FreeType memory leak (#233194).
+
+* Sat Mar 10 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.4-3
+- Apply upstream fix for CVE-2007-1246.
+
+* Wed Feb 14 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.4-2
+- Rebuild.
+
+* Wed Jan 31 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.4-1
+- 1.1.4, with wavpack and system libmpcdec support.
+
+* Thu Jan 18 2007 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.3-4
+- rebuild
+
+* Wed Jan 3 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.3-3
+- Fix libflac decoder with FLAC < 1.1.3 (#220961).
+- Apply upstream patch for FLAC >= 1.1.3.
+
+* Sun Dec 17 2006 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.3-2
+- Don't run autotools during build.
+
+* Mon Dec 04 2006 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.3-1
+- version 1.1.3
+- patch2 applied upstream
+- Disable CACA support by default, needs newer than what's in FE ATM.
+- Split extras plugins in a separate package
+- Enable JACK support (in extras subpackage)
+- Enable DirectFB support (in extras subpackage)
+
+* Sat Nov 11 2006 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.2-18
+- Make shn files available to amarok. References:
+ http://xine.cvs.sourceforge.net/xine/xine-lib/src/demuxers/demux_shn.c?r1...
+ https://launchpad.net/distros/ubuntu/+source/xine-lib/+bug/63130
+
+* Wed Oct 18 2006 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.2-17
+- cleanup docs
+- remove mms
+- delete more source files in the cleanup script
+- drop patch3 (affecting mms)
+
+* Tue Oct 17 2006 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.2-16
+- fix files list
+- add BR gtk2-devel
+- remove xineplug_decode_gdk_pixbuf.so from x86-only
+
+* Mon Oct 16 2006 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.2-15
+- removed libdts
+- drop dxr patch (it's removed from tarball)
+- list xineplug_decode_gdk_pixbuf.so and xineplug_vo_out_vidix.so only on x86
+
+* Sun Oct 15 2006 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.2-14
+- update SOURCE1 to remove liba52 from tarball (patented)
+
+* Tue Sep 12 2006 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.2-13
+- drop patches 2 and 4
+
+* Fri Sep 08 2006 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.2-12
+- initial Fedora Extras package
commit e51141ce46cb55ca9861daf8450f11599d04780f
Author: Xavier Bachelot <xavier(a)bachelot.org>
Date: Thu Oct 24 00:58:59 2013 +0200
Moved to RPM Fusion
diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index 6f9a840..0000000
--- a/.gitignore
+++ /dev/null
@@ -1,5 +0,0 @@
-xine-lib-1.1.19-autotools.patch.bz2
-xine-lib-1.1.19-pruned.tar.bz2
-/xine-lib-1.1.20-pruned.tar.xz
-/xine-lib-1.1.20.1-pruned.tar.xz
-/xine-lib-1.1.21-pruned.tar.xz
diff --git a/Makefile b/Makefile
deleted file mode 100644
index 3f11a94..0000000
--- a/Makefile
+++ /dev/null
@@ -1,21 +0,0 @@
-# Makefile for source rpm: xine-lib
-# $Id$
-NAME := xine-lib
-SPECFILE = $(firstword $(wildcard *.spec))
-
-define find-makefile-common
-for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
-endef
-
-MAKEFILE_COMMON := $(shell $(find-makefile-common))
-
-ifeq ($(MAKEFILE_COMMON),)
-# attept a checkout
-define checkout-makefile-common
-test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2
-endef
-
-MAKEFILE_COMMON := $(shell $(checkout-makefile-common))
-endif
-
-include $(MAKEFILE_COMMON)
diff --git a/dead.package b/dead.package
new file mode 100644
index 0000000..0a5049b
--- /dev/null
+++ b/dead.package
@@ -0,0 +1 @@
+Moved to RPM Fusion
diff --git a/sources b/sources
deleted file mode 100644
index fd1b3c5..0000000
--- a/sources
+++ /dev/null
@@ -1 +0,0 @@
-1568a378a732bd9b69d418674ad4165c xine-lib-1.1.21-pruned.tar.xz
diff --git a/xine-lib-1.1.16.2-multilib.patch b/xine-lib-1.1.16.2-multilib.patch
deleted file mode 100644
index 4609e63..0000000
--- a/xine-lib-1.1.16.2-multilib.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff -up xine-lib-1.1.16.2/misc/xine-config.in.multilib xine-lib-1.1.16.2/misc/xine-config.in
---- xine-lib-1.1.16.2/misc/xine-config.in.multilib 2008-06-25 08:04:09.000000000 -0500
-+++ xine-lib-1.1.16.2/misc/xine-config.in 2009-02-20 07:34:27.000000000 -0600
-@@ -6,12 +6,6 @@ unset prefix
- unset exec_prefix
- unset args
-
--PKG_CONFIG_PATH="`cat <<'EOF'
--@XINE_PKGCONFIG_DIR@
--EOF
--`${PKG_CONFIG_PATH:+:}$PKG_CONFIG_PATH"
--export PKG_CONFIG_PATH
--
- usage()
- {
- cat <<EOF
diff --git a/xine-lib-1.1.17-avsync_hack.patch b/xine-lib-1.1.17-avsync_hack.patch
deleted file mode 100644
index 5fa1ae1..0000000
--- a/xine-lib-1.1.17-avsync_hack.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff -up xine-lib-1.1.17/src/xine-engine/audio_out.c.avsync_hack xine-lib-1.1.17/src/xine-engine/audio_out.c
---- xine-lib-1.1.17/src/xine-engine/audio_out.c.avsync_hack 2009-11-30 19:33:30.000000000 -0600
-+++ xine-lib-1.1.17/src/xine-engine/audio_out.c 2009-12-02 09:07:37.622805780 -0600
-@@ -1156,8 +1156,17 @@ static void *ao_loop (void *this_gen) {
-
- /*
- * calculate gap:
-+ *
-+ * HACK (rwa): If we have no video stream we do not need an AV sync and so
-+ * we assume a gap of 0. This seems to avoid the skips in the
-+ * first seconds when playing audio-only via the "glitch-free"
-+ * pulseaudio server.
- */
-- gap = in_buf->vpts - hw_vpts;
-+ if (in_buf && in_buf->stream && in_buf->stream->video_decoder_plugin) {
-+ gap = in_buf->vpts - hw_vpts;
-+ } else {
-+ gap = 0;
-+ }
- lprintf ("hw_vpts : %" PRId64 " buffer_vpts : %" PRId64 " gap : %" PRId64 "\n",
- hw_vpts, in_buf->vpts, gap);
-
diff --git a/xine-lib-1.1.19-no_autopoint.patch b/xine-lib-1.1.19-no_autopoint.patch
deleted file mode 100644
index d5ee0cd..0000000
--- a/xine-lib-1.1.19-no_autopoint.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff -up xine-lib-1.1.17/autogen.sh.no_autopoint xine-lib-1.1.17/autogen.sh
---- xine-lib-1.1.17/autogen.sh.no_autopoint 2009-10-09 09:33:31.000000000 -0500
-+++ xine-lib-1.1.17/autogen.sh 2009-12-02 09:15:48.534555467 -0600
-@@ -229,10 +229,10 @@ run_aclocal () {
- echo
- fi
-
-- echo $_echo_n " + Running autopoint: $_echo_c"
-+ #echo $_echo_n " + Running autopoint: $_echo_c"
-
-- autopoint
-- echo "done."
-+ #autopoint
-+ #echo "done."
-
- echo $_echo_n " + Running aclocal: $_echo_c"
-
diff --git a/xine-lib-1.1.21-samba4.patch b/xine-lib-1.1.21-samba4.patch
deleted file mode 100644
index 6c5f67d..0000000
--- a/xine-lib-1.1.21-samba4.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-diff -ur xine-lib-1.1.21/configure.ac xine-lib-1.1.21-samba4/configure.ac
---- xine-lib-1.1.21/configure.ac 2012-07-16 21:42:38.000000000 +0200
-+++ xine-lib-1.1.21-samba4/configure.ac 2013-02-12 15:44:33.000000000 +0100
-@@ -1698,12 +1698,10 @@
- [with_samba=$enableval], [with_samba=yes])
-
- if test "x$with_samba" = "xyes"; then
-- AC_CHECK_LIB(smbclient, smbc_init,
-- [ AC_CHECK_HEADER(libsmbclient.h,
-- [ have_libsmbclient=yes
-- LIBSMBCLIENT_LIBS="-lsmbclient" ],
-- AC_MSG_RESULT([*** All libsmbclient dependent parts will be disabled ***]))],
-- AC_MSG_RESULT([*** All libsmbclient dependent parts will be disabled ***]))
-+ PKG_CHECK_MODULES([LIBSMBCLIENT], [smbclient],
-+ [have_libsmbclient=yes],
-+ AC_MSG_RESULT(*** All libsmbclient dependent parts will be disabled ***))
-+ AC_SUBST(LIBSMBCLIENT_CFLAGS)
- AC_SUBST(LIBSMBCLIENT_LIBS)
- fi
- AM_CONDITIONAL(HAVE_LIBSMBCLIENT, test "x$have_libsmbclient" = "xyes")
-diff -ur xine-lib-1.1.21/src/input/Makefile.am xine-lib-1.1.21-samba4/src/input/Makefile.am
---- xine-lib-1.1.21/src/input/Makefile.am 2012-07-16 21:42:38.000000000 +0200
-+++ xine-lib-1.1.21-samba4/src/input/Makefile.am 2013-02-12 15:46:45.000000000 +0100
-@@ -150,7 +150,7 @@
-
- xineplug_inp_smb_la_SOURCES = input_smb.c
- xineplug_inp_smb_la_LIBADD = $(XINE_LIB) $(LIBSMBCLIENT_LIBS) $(LTLIBINTL)
--xineplug_inp_smb_la_CFLAGS = $(VISIBILITY_FLAG) $(AM_CFLAGS)
-+xineplug_inp_smb_la_CFLAGS = $(VISIBILITY_FLAG) $(AM_CFLAGS) $(LIBSMBCLIENT_CFLAGS)
- xineplug_inp_smb_la_LDFLAGS = $(xineplug_ldflags)
-
- xineplug_inp_pvr_la_SOURCES = input_pvr.c
diff --git a/xine-lib-1.1.4-optflags.patch b/xine-lib-1.1.4-optflags.patch
deleted file mode 100644
index 72540f6..0000000
--- a/xine-lib-1.1.4-optflags.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- xine-lib-1.1.4/m4/optimizations.m4~ 2006-06-17 18:20:56.000000000 +0300
-+++ xine-lib-1.1.4/m4/optimizations.m4 2007-01-30 23:03:27.000000000 +0200
-@@ -107,7 +107,7 @@
-
- DEBUG_CFLAGS="-O $DEBUG_CFLAGS"
-
-- if test x"$sarchopt" != "xno"; then
-+ if false ; then
- archopt_val=
-
- case "$host_or_hostalias" in
diff --git a/xine-lib-cleanup-sources.sh b/xine-lib-cleanup-sources.sh
deleted file mode 100755
index a250800..0000000
--- a/xine-lib-cleanup-sources.sh
+++ /dev/null
@@ -1,90 +0,0 @@
-#!/bin/bash
-
-if [ -z "$1" -o $# -ne 1 ]; then
- echo "Usage: $0 <xine-version>"
- exit 2
-fi
-
-version=$1
-tarball="xine-lib-$version.tar.xz"
-dir="xine-lib-$version"
-modtarball="xine-lib-$version-pruned.tar.xz"
-
-
-if [ ! -f $tarball ]; then
- echo "Can't find $tarball !"
- exit 1
-fi
-
-echo "Uncompressing $tarball..."
-rm -rf $dir
-tar -xJf $tarball
-cd $dir
-
-rmpluglib()
-{
- echo "removing src/$1/$2..."
- rm -rf src/$1/$2
- sed -i -e "s/SUBDIRS = \(.*\)$2\(.*\)/SUBDIRS = \1\2/g" src/$1/Makefile.am
- sed -i -e "/^src\/$1\/$2/d" configure.ac
-}
-
-# Main libraries
-for remove in libfaad libffmpeg libmad libmpeg2 libmpeg2new dxr3 liba52 libdts; do
- echo "removing src/$remove..."
- rm -rf src/$remove
- sed -i -e "/$remove/d" src/Makefile.am
- sed -i -e "/^src\/$remove/d" configure.ac
-done
-# Input plugin libraries
-for remove in vcd; do
- rmpluglib input vcd
-done
-for remove in ffmpeg; do
- rmpluglib combined ffmpeg
-done
-# Input plugins
-# DVD reading (dvd input plugin) has now been in Fedora for a while (libdvdread,
-# libdvdnav), the xine-lib code only wraps those libraries. (Decrypting and
-# decoding are of course still separate and forbidden in Fedora.)
-for p in vcd mms; do
- echo "removing $p input plugin..."
- # Remove sources
- for sourcefile in `awk '/^xineplug_inp_'$p'_la_SOURCES/ { $1=""; $2=""; print $0}' src/input/Makefile.am`; do
- if [ "`grep -v '^EXTRA_DIST = ' src/input/Makefile.am | grep -c $sourcefile`" -le 1 ]; then # if this file is only used for this plugin
- rm -f src/input/$sourcefile
- fi
- done
- # Remove from Makefile
- sed -i -e "/xineplug_inp_$p/d" src/input/Makefile.am
-done
-# Demuxers
-# These are ok now ( http://bugzilla.redhat.com/213597 )
-#for p in mpeg mpeg_block mpeg_ts mpeg_elem mpeg_pes yuv4mpeg2; do
-# echo "removing $p demuxer..."
-# [ -f src/demuxers/demux_$p.c ] && rm -f src/demuxers/demux_$p.c
-# sed -i -e "/xineplug_dmx_$p/d" src/demuxers/Makefile.am
-#done
-# Postprocessors
-echo "removing planar and deinterlace postprocessors..."
-sed -i -e 's/deinterlace //g' src/post/Makefile.am # see comments in speedy.c
-sed -i -e 's/planar //g' src/post/Makefile.am # requires libpostproc
-sed -i -e '/post\/\(deinterlace\|planar\)/d' configure.ac
-rm -rf src/post/{deinterlace,planar}
-# NSF decoder
-echo "removing NSF decoder..."
-rm -rf src/libxineadec/{nosefart,nsf.c}
-sed -i -e '/^xineplug_decode_nsf_la/,/^\s*$/d' \
- -e /xineplug_decode_nsf/d \
- -e 's/ nosefart//' \
- src/libxineadec/Makefile.am
-sed -i -e '/nosefart\/Makefile/d' configure.ac
-# Patches for forbidden libraries
-rm -fv misc/lib*.patch win32/scripts/*.patch
-
-# All clean !
-
-cd ..
-echo "Generating $modtarball..."
-tar -cJf $modtarball $dir
-rm -rf $dir
diff --git a/xine-lib.spec b/xine-lib.spec
deleted file mode 100644
index 0b1bf41..0000000
--- a/xine-lib.spec
+++ /dev/null
@@ -1,741 +0,0 @@
-# TODO, sometime, maybe:
-# - libstk: http://www.libstk.net/ - probably not, see 1.1.5 ChangeLog
-# - drop the opengl video out plugin?
-
-%define plugin_abi 1.30
-%define codecdir %{_libdir}/codecs
-
-%ifarch %{ix86}
- %define have_vidix 1
-%else
- %define have_vidix 0
-%endif # ix86
-
-%ifarch %{arm}
-%define _without_directfb 1
-%endif
-
-%if 0%{?fedora} > 14
-%define _disable_v4l1 1
-%endif
-
-%if 0%{?fedora} > 16
-%define _without_esound 1
-%endif
-
-%if 0%{?fedora} > 16
-%define bluray 1
-%endif
-
-%if 0%{?fedora} > 19
-%define _without_directfb 1
-%endif
-
-Summary: A multimedia engine
-Name: xine-lib
-Version: 1.1.21
-Release: 10%{?dist}
-License: GPLv2+
-Group: System Environment/Libraries
-URL: http://www.xine-project.org/
-# The tarball is generated from the upstream tarball using
-# the script in SOURCE1. It prunes potentially patented code
-#Source0: http://downloads.sourceforge.net/xine/xine-lib-%{version}.tar.xz
-Source0: xine-lib-%{version}-pruned.tar.xz
-Source1: xine-lib-cleanup-sources.sh
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-
-Patch0: xine-lib-1.1.19-no_autopoint.patch
-Patch1: xine-lib-1.1.4-optflags.patch
-# http://bugzilla.redhat.com/470568
-Patch2: xine-lib-1.1.17-avsync_hack.patch
-# http://bugzilla.redhat.com/477226
-Patch3: xine-lib-1.1.16.2-multilib.patch
-# find the Samba 4 libsmbclient.h using pkg-config (#909825)
-Patch4: xine-lib-1.1.21-samba4.patch
-
-Provides: xine-lib(plugin-abi) = %{plugin_abi}
-%{?_isa:Provides: xine-lib(plugin-abi)%{?_isa} = %{plugin_abi}}
-
-# DVD plugin moved from there
-Conflicts: xine-lib-extras-freeworld < 1.1.21-3
-
-BuildRequires: autoconf automake libtool
-# X11
-BuildRequires: libX11-devel
-BuildRequires: libXv-devel
-BuildRequires: libXinerama-devel
-BuildRequires: libXvMC-devel
-BuildRequires: libGLU-devel
-BuildRequires: libv4l-devel
-BuildRequires: libxcb-devel
-# Video
-BuildRequires: SDL-devel
-BuildRequires: libtheora-devel
-BuildRequires: libmng-devel
-BuildRequires: aalib-devel >= 1.4
-BuildRequires: libcaca-devel >= 0.99-0.5.beta14
-%if 0%{!?_without_directfb:1}
-BuildRequires: directfb-devel
-%endif # directfb
-BuildRequires: ImageMagick-devel >= 6.2.4.6-1
-%if 0%{?_with_freetype:1}
-BuildRequires: fontconfig-devel
-%endif # freetype
-# Audio
-BuildRequires: alsa-lib-devel >= 0.9.0
-%if 0%{!?_without_esound:1}
-BuildRequires: esound-devel
-%endif # esound
-BuildRequires: flac-devel
-BuildRequires: jack-audio-connection-kit-devel
-BuildRequires: libmodplug-devel
-BuildRequires: libmpcdec-devel
-BuildRequires: libvorbis-devel
-BuildRequires: speex-devel
-BuildRequires: wavpack-devel
-# CDs
-BuildRequires: libcdio-devel
-# Other
-BuildRequires: pkgconfig
-BuildRequires: pkgconfig(libpulse)
-BuildRequires: gtk2-devel
-BuildRequires: libsmbclient-devel
-BuildRequires: libdvdnav-devel
-BuildRequires: libdvdread-devel
-%if 0%{?bluray}
-BuildRequires: libbluray-devel
-%endif
-
-# Dropped in Fedora 9
-Obsoletes: xine-lib-arts < %{version}-%{release}
-
-# Included in main package since Fedora 12
-Obsoletes: xine-lib-pulseaudio < 1.1.16.3-5
-Provides: xine-lib-pulseaudio = %{version}-%{release}
-
-%description
-This package contains the Xine library. It can be used to play back
-various media, decode multimedia files from local disk drives, and display
-multimedia streamed over the Internet. It interprets many of the most
-common multimedia formats available - and some uncommon formats, too.
-
-%package devel
-Summary: Xine library development files
-Group: Development/Libraries
-Requires: %{name}%{?_isa} = %{version}-%{release}
-Requires: pkgconfig
-Requires: zlib-devel
-%description devel
-This package contains development files for %{name}.
-
-%package extras
-Summary: Additional plugins for %{name}
-Group: System Environment/Libraries
-Requires: %{name}%{?_isa} = %{version}-%{release}
-#Requires: xine-lib(plugin-abi) = %{plugin_abi}
-%description extras
-This package contains extra plugins for %{name}:
-%if 0%{!?_without_esound:1}
- - EsounD
-%endif # esound
- - JACK
- - GDK-Pixbuf
- - SMB
- - SDL
- - AA-lib
- - Libcaca
- - Image decoding
-%if 0%{!?_without_directfb:1}
- - DirectFB output
-%endif # directfb
-
-
-%prep
-%setup -q
-%patch0 -p1 -b .no_autopoint
-# extra work for to omit old libtool-related crud
-rm -f configure ltmain.sh libtool m4/libtool.m4 m4/ltoptions.m4 m4/ltversion.m4
-%patch1 -p1 -b .optflags
-%patch2 -p1 -b .avsync_hack
-%patch3 -p1 -b .multilib
-%patch4 -p1 -b .samba4
-
-./autogen.sh noconfig
-
-
-%build
-export FFMPEG_CFLAGS=" " FFMPEG_LIBS=" "
-export FFMPEG_POSTPROC_CFLAGS=" " FFMPEG_POSTPROC_LIBS=" "
-export FFMPEG_UTIL_CFLAGS=" " FFMPEG_UTIL_LIBS=" "
-export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)"
-# Keep list of options in mostly the same order as ./configure --help.
-%configure \
- --disable-dependency-tracking \
- --enable-ipv6 \
-%if 0%{!?_without_directfb:1}
- --enable-directfb \
-%endif # directfb
- --enable-v4l \
- --enable-libv4l \
- --enable-xvmc \
- --disable-gnomevfs \
- --disable-a52dec \
- --disable-mad \
- --disable-vcd \
- --disable-asf \
- --disable-faad \
-%if 0%{?_with_freetype:1}
-%if 0%{?_with_antialiasing:1}
- --enable-antialiasing \
-%endif # antialiasing
- --with-freetype \
- --with-fontconfig \
-%endif # freetype
- --with-caca \
- --with-external-ffmpeg \
- --with-external-dvdnav \
- --with-xv-path=%{_libdir} \
- --with-libflac \
- --with-external-libmpcdec \
- --without-arts \
-%if 0%{?_without_esound:1}
- --without-esound \
-%endif
- --with-wavpack \
- --with-real-codecs-path=%{codecdir} \
- --with-w32-path=%{codecdir}
-
-make %{?_smp_mflags}
-
-
-%install
-rm -rf $RPM_BUILD_ROOT __docs
-make install DESTDIR=$RPM_BUILD_ROOT
-%find_lang libxine1
-cp -pR $RPM_BUILD_ROOT%{_docdir}/xine-lib __docs
-rm -rf $RPM_BUILD_ROOT%{_docdir}/xine-lib
-
-# Removing useless files
-rm -Rf $RPM_BUILD_ROOT%{_libdir}/libxine.la __docs/README \
- __docs/README.{freebsd,irix,solaris,MINGWCROSS,WIN32} \
- __docs/README.{dxr3,network_dvd}
-
-# Directory for binary codecs
-mkdir -p $RPM_BUILD_ROOT%{codecdir}
-
-# unpackaged files
-%if 0%{?_disable_v4l1:1}
-rm -fv $RPM_BUILD_ROOT%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_pvr.so
-rm -fv $RPM_BUILD_ROOT%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_v4l.so
-%endif
-
-
-%clean
-rm -rf $RPM_BUILD_ROOT
-
-
-%post -p /sbin/ldconfig
-
-%postun -p /sbin/ldconfig
-
-
-%files -f libxine1.lang
-%defattr(-,root,root,-)
-%doc AUTHORS COPYING COPYING.LIB CREDITS ChangeLog* README TODO
-%doc __docs/README.* __docs/faq.*
-%dir %{codecdir}/
-%{_datadir}/xine/
-%{_libdir}/libxine.so.*
-%{_mandir}/man5/xine.5*
-%dir %{_libdir}/xine/
-%dir %{_libdir}/xine/plugins/
-%dir %{_libdir}/xine/plugins/%{plugin_abi}/
-%{_libdir}/xine/plugins/%{plugin_abi}/mime.types
-# Listing every plugin separately for better control over binary packages
-# containing exactly the plugins we want, nothing accidentally snuck in
-# nor dropped.
-%dir %{_libdir}/xine/plugins/%{plugin_abi}/post/
-%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_audio_filters.so
-%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_goom.so
-%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_mosaico.so
-%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_switch.so
-%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_visualizations.so
-%if %{have_vidix}
-%dir %{_libdir}/xine/plugins/%{plugin_abi}/vidix/
-%{_libdir}/xine/plugins/%{plugin_abi}/vidix/cyberblade_vid.so
-%{_libdir}/xine/plugins/%{plugin_abi}/vidix/mach64_vid.so
-%{_libdir}/xine/plugins/%{plugin_abi}/vidix/mga_crtc2_vid.so
-%{_libdir}/xine/plugins/%{plugin_abi}/vidix/mga_vid.so
-%{_libdir}/xine/plugins/%{plugin_abi}/vidix/nvidia_vid.so
-%{_libdir}/xine/plugins/%{plugin_abi}/vidix/pm2_vid.so
-%{_libdir}/xine/plugins/%{plugin_abi}/vidix/pm3_vid.so
-%{_libdir}/xine/plugins/%{plugin_abi}/vidix/radeon_vid.so
-%{_libdir}/xine/plugins/%{plugin_abi}/vidix/rage128_vid.so
-%{_libdir}/xine/plugins/%{plugin_abi}/vidix/savage_vid.so
-%{_libdir}/xine/plugins/%{plugin_abi}/vidix/sis_vid.so
-%{_libdir}/xine/plugins/%{plugin_abi}/vidix/unichrome_vid.so
-%endif # vidix
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_alsa.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_file.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_none.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_oss.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_pulseaudio.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_bitplane.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_gsm610.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_lpcm.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_mpc.so
-%ifarch %{ix86}
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_qt.so
-%endif # ix86
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_real.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_rgb.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_speex.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spu.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spucc.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spucmml.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spudvb.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spuhdmv.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_sputext.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_theora.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_vorbis.so
-%ifarch %{ix86}
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_w32dll.so
-%endif # ix86
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_yuv.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_audio.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_avi.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_fli.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_flv.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_games.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_iff.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_image.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_matroska.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mng.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mpeg.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mpeg_block.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mpeg_elem.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mpeg_pes.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mpeg_ts.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_nsv.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_ogg.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_pva.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_qt.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_rawdv.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_real.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_slave.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_sputext.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_yuv_frames.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_yuv4mpeg2.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_flac.so
-%if 0%{?bluray}
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_bluray.so
-%endif
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_cdda.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_dvb.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_dvd.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_file.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_http.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_net.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_pnm.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_rtp.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_rtsp.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_stdin_fifo.so
-%if ! 0%{?_disable_v4l1:1}
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_pvr.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_v4l.so
-%endif
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_v4l2.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_fb.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_none.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_opengl.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_raw.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_syncfb.so
-%if %{have_vidix}
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_vidix.so
-%endif # vidix
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xcbshm.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xcbxv.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xshm.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xv.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xvmc.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xxmc.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_wavpack.so
-
-%files extras
-%defattr(-,root,root,-)
-%if 0%{!?_without_esound:1}
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_esd.so
-%endif # esound
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_jack.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_gdk_pixbuf.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_image.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_smb.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_aa.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_caca.so
-%if 0%{!?_without_directfb:1}
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_directfb.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xdirectfb.so
-%endif # directfb
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_sdl.so
-
-%files devel
-%defattr(-,root,root,-)
-%doc __docs/hackersguide/*
-%{_bindir}/xine-config
-%{_bindir}/xine-list*
-%{_datadir}/aclocal/xine.m4
-%{_includedir}/xine.h
-%{_includedir}/xine/
-%{_libdir}/libxine.so
-%{_libdir}/pkgconfig/libxine.pc
-%{_mandir}/man1/xine-config.1*
-%{_mandir}/man1/xine-list*.1*
-
-
-%changelog
-* Fri Sep 20 2013 Xavier Bachelot <xavier(a)bachelot.org> 1.1.21-10
-- Rebuild for libbluray-0.4.0.
-
-* Sat Aug 31 2013 Till Maas <opensource(a)till.name> - 1.1.21-9
-- Disable directfb support for Fedora 20 and newer, because it was retired
-
-* Tue Aug 27 2013 Jon Ciesla <limburgher(a)gmail.com> - 1.1.21-8
-- libmng rebuild.
-
-* Sun Aug 04 2013 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1.1.21-7
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
-
-* Sat Mar 30 2013 Kevin Fenzi <kevin(a)scrye.com> - 1.1.21-6
-- Rebuild for broken deps in rawhide
-
-* Tue Feb 12 2013 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.21-5
-- find the Samba 4 libsmbclient.h using pkg-config, fixes FTBFS (#909825)
-
-* Mon Sep 17 2012 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.21-4
-- rebuild for new directfb
-
-* Sun Jul 22 2012 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1.1.21-3.1
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
-
-* Sat Jul 21 2012 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.21-2.1
-- disable libbluray support on F16, libbluray too old
-
-* Mon Jul 16 2012 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.21-2
-- do not remove DVD plugin, not encumbered (only uses libdvdread/libdvdnav)
-
-* Tue Jun 12 2012 Xavier Bachelot <xavier(a)bachelot.org> 1.1.21-1
-- Update to 1.1.21.
-- Enable libbluray support.
-
-* Sat Mar 10 2012 Rex Dieter <rdieter(a)fedoraproject.org> 1.1.20.1-3
-- rebuild (ImageMagick)
-
-* Sat Jan 14 2012 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1.1.20.1-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
-
-* Tue Jan 03 2012 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.20.1-1
-- update to 1.1.20.1 (bugfix release)
-- drop upstreamed link-libdvdread patch
-
-* Sun Nov 20 2011 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.20-1
-- update to 1.1.20 (#753758)
-- use .xz tarball
-- drop old conditionals
-- drop ESD (esound) support on F17+ (native PulseAudio just works)
-- drop autotools patch, run autogen.sh in %%prep instead
-- drop unused deepbind patch
-- drop xvmclib_header patch, fixed upstream
-- use the system libdvdnav (and libdvdread) instead of the bundled one
-- fix system libdvdnav support to also link libdvdread
-- plugin ABI is now 1.30
-
-* Fri Jul 15 2011 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.19-7
-- rebuild for new DirectFB (1.5.0)
-
-* Mon Feb 14 2011 Rex Dieter <rdieter(a)fedoraproject.org> 1.1.19-6
-- split v4l, libv4l handling
-- omit v4l(1) bits (f15+)
-
-* Mon Feb 07 2011 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1.1.19-5
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
-
-* Mon Jan 24 2011 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.19-4
-- xvmclib header changes, fixes ftbfs (#635653,#661071)
-
-* Sun Nov 28 2010 Kevin Kofler <Kevin(a)tigcc.ticalc.org> - 1.1.19-3
-- rebuild for new directfb (1.4.11)
-
-* Wed Sep 15 2010 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.19-2
-- rebuild (ImageMagick)
-
-* Sun Jul 25 2010 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.19-1
-- 1.1.19
-
-* Mon Jul 19 2010 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.18.1-3
-- no directfb on arm (yet)
-
-* Tue Jun 1 2010 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.18.1-2
-- Rebuild.
-
-* Sun Mar 07 2010 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.18.1-1
-- xine-lib-1.1.18.1
-
-* Sun Mar 07 2010 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.18-2
-- rebuild (ImageMagick)
-
-* Wed Feb 24 2010 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.18-1
-- xine-lib-1.1.18, plugin-abi 1.28 (#567913)
-
-* Sat Dec 12 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.17-3
-- bump flac_decoder priority (rh#301861,xine#225)
-
-* Mon Dec 07 2009 Bastien Nocera <bnocera(a)redhat.com> 1.1.17-2
-- Remove gnome-vfs2 plugin, it's mostly useless
-
-* Wed Dec 02 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.17-1
-- xine-lib-1.1.17, plugin-abi 1.27
-
-* Sun Nov 29 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.3-5
-- move -pulseaudio into main pkg (f12+)
-- update URL
-
-* Mon Jul 27 2009 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1.1.16.3-4
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
-
-* Thu Jul 02 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.3-3
-- rebuild (DirectFB)
-
-* Fri Apr 17 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.3-2.1
-- drop old_caca hacks/patches (F-9)
-
-* Fri Apr 10 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.3-2
-- fix modtracker mimetypes
-
-* Fri Apr 03 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.3-1
-- xine-lib-1.1.16.3, plugin-abi 1.26
-
-* Thu Mar 26 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.2-6
-- add-mime-for-mod.patch
-
-* Tue Mar 10 2009 Kevin Kofler <Kevin(a)tigcc.ticalc.org> - 1.1.16.2-5
-- rebuild for new ImageMagick
-
-* Thu Feb 26 2009 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1.1.16.2-4
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
-
-* Fri Feb 20 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.2-3
-- xine-lib-devel muiltilib conflict (#477226)
-
-* Tue Feb 17 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.2-2
-- xine-lib-safe-audio-pause3 patch (#486255, kdebug#180339)
-
-* Tue Feb 10 2009 Kevin Kofler <Kevin(a)tigcc.ticalc.org> - 1.1.16.2-1.1
-- also patch the caca version check in configure(.ac)
-
-* Tue Feb 10 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.2-1
-- xine-lib-1.1.16.2
-
-* Mon Feb 09 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.1-4
-- gapless-race-fix patch (kdebug#180339)
-
-* Sat Feb 07 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.1-3
-- safe-audio-pause patch (kdebug#180339)
-
-* Mon Jan 26 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.1-2
-- Provides: xine-lib(plugin-abi)%%{?_isa} = %%{plugin_abi}
-- touchup Summary/Description
-
-* Fri Jan 23 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.1-1
-- xine-lib-1.1.16.1
-- include avsync patch (#470568)
-
-* Sun Jan 18 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16-2
-- drop deepbind patch (#480504)
-- caca support (EPEL)
-
-* Wed Jan 07 2009 Kevin Kofler <Kevin(a)tigcc.ticalc.org> - 1.1.16-1.1
-- patch for old libcaca in F9-
-
-* Wed Jan 07 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16-1
-- xine-lib-1.1.16, plugin ABI 1.25
-- --with-external-libdvdnav, include mpeg demuxers (#213597)
-
-* Fri Dec 12 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.15-4
-- rebuild for pkgconfig deps
-
-* Tue Oct 28 2008 Kevin Kofler <Kevin(a)tigcc.ticalc.org> - 1.1.15-3
-- rebuild for new libcaca
-
-* Thu Oct 23 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.15-2
-- respin
-
-* Wed Aug 20 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.15-1
-- xine-lib-1.1.15, plugin ABI 1.24 (rh#455752, CVE-2008-3231)
-- Obsoletes: -arts (f9+)
-
-* Sun Apr 27 2008 Kevin Kofler <Kevin(a)tigcc.ticalc.org> - 1.1.12-3
-- rebuild for new ImageMagick (6.4.0.10)
-
-* Thu Apr 24 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.12-2
-- CVE-2008-1878
-
-* Wed Apr 16 2008 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.12-1
-- 1.1.12 (plugin ABI 1.21); qt, mkv, and pulseaudio patches applied upstream.
-
-* Wed Apr 9 2008 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.11.1-3
-- Apply upstream fixes for Quicktime (#441705) and Matroska regressions
- introduced in 1.1.11.1.
-
-* Mon Apr 07 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.11.1-2
-- pulse-rework2 patch (#439731)
-- -pulseaudio subpkg (#439731)
-
-* Sun Mar 30 2008 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.11.1-1
-- 1.1.11.1 (security update, #438663, CVE-2008-1482).
-- Provide versioned xine-lib(plugin-abi) so 3rd party packages installing
- plugins can use it instead of requiring a version of xine-lib.
-
-* Wed Mar 19 2008 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.11-1
-- 1.1.11 (security update, #438182, CVE-2008-0073).
-- Drop jack and wavpack build conditionals.
-- Specfile cleanups.
-
-* Fri Mar 7 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.10.1-1.1
-- xcb support for f7+ (#373411)
-
-* Fri Feb 8 2008 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.10.1-1
-- 1.1.10.1 (security update, #431541).
-
-* Sun Jan 27 2008 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.10-2
-- Include spu, spucc, and spucmml decoders (#213597).
-
-* Sun Jan 27 2008 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.10-1
-- 1.1.10 (security update).
-
-* Mon Jan 21 2008 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.9.1-3
-- Fix version number in libxine.pc (#429487).
-
-* Sun Jan 20 2008 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.9.1-2
-- Disable upstream "discard buffers on ao close" 1.1.9 changeset (#429182).
-
-* Sat Jan 12 2008 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.9.1-1
-- 1.1.9.1 (security update).
-
-* Sun Jan 6 2008 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.9-1
-- 1.1.9.
-
-* Thu Sep 27 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.8-6
-- Enable wavpack support by default for all distros.
-
-* Sun Sep 23 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.8-5
-- Enable JACK support by default for all distros.
-
-* Wed Sep 19 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.8-4
-- Fix "--without wavpack" build.
-
-* Sat Sep 15 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.8-3
-- Move XCB plugins to the main package.
-- Make aalib, caca, pulseaudio, jack, and wavpack support optional at build
- time in preparation for the first EPEL build.
-
-* Sun Sep 09 2007 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.8-2
-- remove the dependency from -extras to -arts, and use Obsoletes to
- provide an upgrade path
-
-* Thu Aug 30 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.8-1
-- 1.1.8, "open" patch applied upstream.
-- Build XCB plugins by default for Fedora 8+ only.
-
-* Sat Aug 25 2007 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.7-3
-- Split the aRts plugin into its own subpackage
-
-* Tue Aug 14 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.7-2
-- Include XCB output plugins (in -extras at least for now).
-- Protect "open" with glibc 2.6.90 and -D_FORTIFY_SOURCE=2.
-- Clean up %%configure options.
-- License: GPLv2+
-
-* Thu Jun 7 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.7-1
-- 1.1.7.
-
-* Wed Jun 06 2007 Rex Dieter <rdieter[AT]fedoraproject.org> - 1.1.6-3
-- respin (for libmpcdec)
-
-* Wed Apr 25 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.6-2
-- Make Real codec search path /usr/lib(64)/codecs again (#237743).
-
-* Wed Apr 18 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.6-1
-- 1.1.6.
-
-* Wed Apr 11 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.5-1
-- 1.1.5.
-- Include GSM 06.10 decoder (#228186).
-- Re-enable CACA support.
-
-* Sun Apr 8 2007 Ville Skyttä <ville.skytta(a)iki.fi>
-- Exclude vidix dir on systems that don't have vidix.
-- Specfile cleanups.
-
-* Mon Mar 26 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.4-4
-- Add PulseAudio support (in -extras, #234035/Jost Diederichs).
-- Adjust Samba build dependencies to work for both <= and > FC6.
-- Add --with freetype and --with antialiasing build time options,
- default disabled, and an upstream patch for FreeType memory leak (#233194).
-
-* Sat Mar 10 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.4-3
-- Apply upstream fix for CVE-2007-1246.
-
-* Wed Feb 14 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.4-2
-- Rebuild.
-
-* Wed Jan 31 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.4-1
-- 1.1.4, with wavpack and system libmpcdec support.
-
-* Thu Jan 18 2007 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.3-4
-- rebuild
-
-* Wed Jan 3 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.3-3
-- Fix libflac decoder with FLAC < 1.1.3 (#220961).
-- Apply upstream patch for FLAC >= 1.1.3.
-
-* Sun Dec 17 2006 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.3-2
-- Don't run autotools during build.
-
-* Mon Dec 04 2006 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.3-1
-- version 1.1.3
-- patch2 applied upstream
-- Disable CACA support by default, needs newer than what's in FE ATM.
-- Split extras plugins in a separate package
-- Enable JACK support (in extras subpackage)
-- Enable DirectFB support (in extras subpackage)
-
-* Sat Nov 11 2006 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.2-18
-- Make shn files available to amarok. References:
- http://xine.cvs.sourceforge.net/xine/xine-lib/src/demuxers/demux_shn.c?r1...
- https://launchpad.net/distros/ubuntu/+source/xine-lib/+bug/63130
-
-* Wed Oct 18 2006 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.2-17
-- cleanup docs
-- remove mms
-- delete more source files in the cleanup script
-- drop patch3 (affecting mms)
-
-* Tue Oct 17 2006 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.2-16
-- fix files list
-- add BR gtk2-devel
-- remove xineplug_decode_gdk_pixbuf.so from x86-only
-
-* Mon Oct 16 2006 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.2-15
-- removed libdts
-- drop dxr patch (it's removed from tarball)
-- list xineplug_decode_gdk_pixbuf.so and xineplug_vo_out_vidix.so only on x86
-
-* Sun Oct 15 2006 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.2-14
-- update SOURCE1 to remove liba52 from tarball (patented)
-
-* Tue Sep 12 2006 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.2-13
-- drop patches 2 and 4
-
-* Fri Sep 08 2006 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.2-12
-- initial Fedora Extras package
commit 4ca22501764f755758531c8f52806a12fe1c3016
Author: Xavier Bachelot <xavier(a)bachelot.org>
Date: Fri Sep 20 16:37:56 2013 +0200
Rebuild for libbluray-0.4.0.
diff --git a/xine-lib.spec b/xine-lib.spec
index 8365d82..0b1bf41 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -34,7 +34,7 @@
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.21
-Release: 9%{?dist}
+Release: 10%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://www.xine-project.org/
@@ -394,6 +394,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Fri Sep 20 2013 Xavier Bachelot <xavier(a)bachelot.org> 1.1.21-10
+- Rebuild for libbluray-0.4.0.
+
* Sat Aug 31 2013 Till Maas <opensource(a)till.name> - 1.1.21-9
- Disable directfb support for Fedora 20 and newer, because it was retired
commit 195a4e285b5b721d0ade45b083e848552db4de3a
Author: Till Maas <opensource(a)till.name>
Date: Sat Aug 31 21:53:28 2013 +0200
Disable directfb support for Fedora 20 and newer, because it was retired
diff --git a/xine-lib.spec b/xine-lib.spec
index 30bedb3..8365d82 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -27,10 +27,14 @@
%define bluray 1
%endif
+%if 0%{?fedora} > 19
+%define _without_directfb 1
+%endif
+
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.21
-Release: 8%{?dist}
+Release: 9%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://www.xine-project.org/
@@ -390,6 +394,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Sat Aug 31 2013 Till Maas <opensource(a)till.name> - 1.1.21-9
+- Disable directfb support for Fedora 20 and newer, because it was retired
+
* Tue Aug 27 2013 Jon Ciesla <limburgher(a)gmail.com> - 1.1.21-8
- libmng rebuild.
commit e9cb3c563713dee3a0f8bf932604f8a0ac2e880a
Author: Jon Ciesla <limburgher(a)gmail.com>
Date: Tue Aug 27 08:02:03 2013 -0500
libmng rebuild
diff --git a/xine-lib.spec b/xine-lib.spec
index 6c973ae..30bedb3 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -30,7 +30,7 @@
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.21
-Release: 7%{?dist}
+Release: 8%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://www.xine-project.org/
@@ -390,6 +390,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Tue Aug 27 2013 Jon Ciesla <limburgher(a)gmail.com> - 1.1.21-8
+- libmng rebuild.
+
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1.1.21-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
commit 5d28f1e7d9ec9de3807febdc726ac6da4a1a9700
Author: Dennis Gilmore <dennis(a)ausil.us>
Date: Sun Aug 4 03:18:45 2013 -0500
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
diff --git a/xine-lib.spec b/xine-lib.spec
index 3d671e1..6c973ae 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -30,7 +30,7 @@
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.21
-Release: 6%{?dist}
+Release: 7%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://www.xine-project.org/
@@ -390,6 +390,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Sun Aug 04 2013 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1.1.21-7
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
+
* Sat Mar 30 2013 Kevin Fenzi <kevin(a)scrye.com> - 1.1.21-6
- Rebuild for broken deps in rawhide
commit 9f705b68844e4c3a9492eb9f6693f19ac7b5cd5c
Author: Kevin Fenzi <kevin(a)scrye.com>
Date: Sat Mar 30 12:54:15 2013 -0600
Rebuild for broken deps in rawhide
diff --git a/xine-lib.spec b/xine-lib.spec
index ebfe4e0..3d671e1 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -30,7 +30,7 @@
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.21
-Release: 5%{?dist}
+Release: 6%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://www.xine-project.org/
@@ -390,6 +390,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Sat Mar 30 2013 Kevin Fenzi <kevin(a)scrye.com> - 1.1.21-6
+- Rebuild for broken deps in rawhide
+
* Tue Feb 12 2013 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.21-5
- find the Samba 4 libsmbclient.h using pkg-config, fixes FTBFS (#909825)
commit 1b121475e097285d896c8554ce377487b11c393d
Author: Kevin Kofler <Kevin(a)tigcc.ticalc.org>
Date: Tue Feb 12 15:55:25 2013 +0100
find the Samba 4 libsmbclient.h using pkg-config, fixes FTBFS (#909825)
* Tue Feb 12 2013 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.21-5
- find the Samba 4 libsmbclient.h using pkg-config, fixes FTBFS (#909825)
diff --git a/xine-lib-1.1.21-samba4.patch b/xine-lib-1.1.21-samba4.patch
new file mode 100644
index 0000000..6c5f67d
--- /dev/null
+++ b/xine-lib-1.1.21-samba4.patch
@@ -0,0 +1,32 @@
+diff -ur xine-lib-1.1.21/configure.ac xine-lib-1.1.21-samba4/configure.ac
+--- xine-lib-1.1.21/configure.ac 2012-07-16 21:42:38.000000000 +0200
++++ xine-lib-1.1.21-samba4/configure.ac 2013-02-12 15:44:33.000000000 +0100
+@@ -1698,12 +1698,10 @@
+ [with_samba=$enableval], [with_samba=yes])
+
+ if test "x$with_samba" = "xyes"; then
+- AC_CHECK_LIB(smbclient, smbc_init,
+- [ AC_CHECK_HEADER(libsmbclient.h,
+- [ have_libsmbclient=yes
+- LIBSMBCLIENT_LIBS="-lsmbclient" ],
+- AC_MSG_RESULT([*** All libsmbclient dependent parts will be disabled ***]))],
+- AC_MSG_RESULT([*** All libsmbclient dependent parts will be disabled ***]))
++ PKG_CHECK_MODULES([LIBSMBCLIENT], [smbclient],
++ [have_libsmbclient=yes],
++ AC_MSG_RESULT(*** All libsmbclient dependent parts will be disabled ***))
++ AC_SUBST(LIBSMBCLIENT_CFLAGS)
+ AC_SUBST(LIBSMBCLIENT_LIBS)
+ fi
+ AM_CONDITIONAL(HAVE_LIBSMBCLIENT, test "x$have_libsmbclient" = "xyes")
+diff -ur xine-lib-1.1.21/src/input/Makefile.am xine-lib-1.1.21-samba4/src/input/Makefile.am
+--- xine-lib-1.1.21/src/input/Makefile.am 2012-07-16 21:42:38.000000000 +0200
++++ xine-lib-1.1.21-samba4/src/input/Makefile.am 2013-02-12 15:46:45.000000000 +0100
+@@ -150,7 +150,7 @@
+
+ xineplug_inp_smb_la_SOURCES = input_smb.c
+ xineplug_inp_smb_la_LIBADD = $(XINE_LIB) $(LIBSMBCLIENT_LIBS) $(LTLIBINTL)
+-xineplug_inp_smb_la_CFLAGS = $(VISIBILITY_FLAG) $(AM_CFLAGS)
++xineplug_inp_smb_la_CFLAGS = $(VISIBILITY_FLAG) $(AM_CFLAGS) $(LIBSMBCLIENT_CFLAGS)
+ xineplug_inp_smb_la_LDFLAGS = $(xineplug_ldflags)
+
+ xineplug_inp_pvr_la_SOURCES = input_pvr.c
diff --git a/xine-lib.spec b/xine-lib.spec
index 1e701eb..ebfe4e0 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -30,7 +30,7 @@
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.21
-Release: 4%{?dist}
+Release: 5%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://www.xine-project.org/
@@ -44,9 +44,11 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Patch0: xine-lib-1.1.19-no_autopoint.patch
Patch1: xine-lib-1.1.4-optflags.patch
# http://bugzilla.redhat.com/470568
-Patch8: xine-lib-1.1.17-avsync_hack.patch
+Patch2: xine-lib-1.1.17-avsync_hack.patch
# http://bugzilla.redhat.com/477226
-Patch9: xine-lib-1.1.16.2-multilib.patch
+Patch3: xine-lib-1.1.16.2-multilib.patch
+# find the Samba 4 libsmbclient.h using pkg-config (#909825)
+Patch4: xine-lib-1.1.21-samba4.patch
Provides: xine-lib(plugin-abi) = %{plugin_abi}
%{?_isa:Provides: xine-lib(plugin-abi)%{?_isa} = %{plugin_abi}}
@@ -151,8 +153,9 @@ This package contains extra plugins for %{name}:
# extra work for to omit old libtool-related crud
rm -f configure ltmain.sh libtool m4/libtool.m4 m4/ltoptions.m4 m4/ltversion.m4
%patch1 -p1 -b .optflags
-%patch8 -p1 -b .avsync_hack
-%patch9 -p1 -b .multilib
+%patch2 -p1 -b .avsync_hack
+%patch3 -p1 -b .multilib
+%patch4 -p1 -b .samba4
./autogen.sh noconfig
@@ -387,6 +390,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Tue Feb 12 2013 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.21-5
+- find the Samba 4 libsmbclient.h using pkg-config, fixes FTBFS (#909825)
+
* Mon Sep 17 2012 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.21-4
- rebuild for new directfb
commit 1b31029cd5caaa92ef737fa198300ae4a68bf843
Author: Kevin Kofler <Kevin(a)tigcc.ticalc.org>
Date: Mon Sep 17 23:12:14 2012 +0200
rebuild for new directfb
* Mon Sep 17 2012 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.21-4
- rebuild for new directfb
diff --git a/xine-lib.spec b/xine-lib.spec
index e855808..1e701eb 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -30,7 +30,7 @@
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.21
-Release: 3%{?dist}.1
+Release: 4%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://www.xine-project.org/
@@ -387,6 +387,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Mon Sep 17 2012 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.21-4
+- rebuild for new directfb
+
* Sun Jul 22 2012 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1.1.21-3.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
commit 7e6058d0e78c7382466d9039c7df7c869c08d394
Author: Dennis Gilmore <dennis(a)ausil.us>
Date: Sun Jul 22 00:35:12 2012 -0500
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
diff --git a/xine-lib.spec b/xine-lib.spec
index 2e3946a..e855808 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -30,7 +30,7 @@
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.21
-Release: 2%{?dist}.1
+Release: 3%{?dist}.1
License: GPLv2+
Group: System Environment/Libraries
URL: http://www.xine-project.org/
@@ -387,6 +387,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Sun Jul 22 2012 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1.1.21-3.1
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
+
* Sat Jul 21 2012 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.21-2.1
- disable libbluray support on F16, libbluray too old
commit 98180e81b4931c972c7db840e945feae2ee74ddc
Author: Kevin Kofler <Kevin(a)tigcc.ticalc.org>
Date: Sat Jul 21 15:46:43 2012 +0200
- disable libbluray support on F16, libbluray too old
* Sat Jul 21 2012 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.21-2.1
- disable libbluray support on F16, libbluray too old
diff --git a/xine-lib.spec b/xine-lib.spec
index 2f2352c..2e3946a 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -23,10 +23,14 @@
%define _without_esound 1
%endif
+%if 0%{?fedora} > 16
+%define bluray 1
+%endif
+
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.21
-Release: 2%{?dist}
+Release: 2%{?dist}.1
License: GPLv2+
Group: System Environment/Libraries
URL: http://www.xine-project.org/
@@ -93,7 +97,9 @@ BuildRequires: gtk2-devel
BuildRequires: libsmbclient-devel
BuildRequires: libdvdnav-devel
BuildRequires: libdvdread-devel
+%if 0%{?bluray}
BuildRequires: libbluray-devel
+%endif
# Dropped in Fedora 9
Obsoletes: xine-lib-arts < %{version}-%{release}
@@ -315,7 +321,9 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_yuv_frames.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_yuv4mpeg2.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_flac.so
+%if 0%{?bluray}
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_bluray.so
+%endif
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_cdda.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_dvb.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_dvd.so
@@ -379,6 +387,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Sat Jul 21 2012 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.21-2.1
+- disable libbluray support on F16, libbluray too old
+
* Mon Jul 16 2012 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.21-2
- do not remove DVD plugin, not encumbered (only uses libdvdread/libdvdnav)
commit 84b672c560624d780e2d8748142384108d302c61
Merge: 93d016b 7537d5e
Author: Kevin Kofler <Kevin(a)tigcc.ticalc.org>
Date: Sat Jul 21 12:08:54 2012 +0200
Merge branch 'master' of ssh://pkgs.fedoraproject.org/xine-lib into f16
commit 93d016bc79677b19244ed6b99f0968aeb6c7b38c
Author: Kevin Kofler <Kevin(a)tigcc.ticalc.org>
Date: Sat Jul 21 12:07:40 2012 +0200
Revert "Rebuild for ImageMagick update http://lists.fedoraproject.org/pipermail/devel/2012-May/167462.html"
This reverts commit 175663444c00adbafa2bcb7b9f42fa836beade14.
Syncing from master instead.
diff --git a/xine-lib.spec b/xine-lib.spec
index 5185c70..7bd8afb 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -26,7 +26,7 @@
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.20.1
-Release: 2%{?dist}
+Release: 1%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://www.xine-project.org/
@@ -373,9 +373,6 @@ rm -rf $RPM_BUILD_ROOT
%changelog
-* Sun Jun 3 2012 Pavel Alexeev <Pahan(a)Hubbitus.info> 1.1.20.1-2
-- Rebuild for ImageMagick update http://lists.fedoraproject.org/pipermail/devel/2012-May/167462.html
-
* Tue Jan 03 2012 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.20.1-1
- update to 1.1.20.1 (bugfix release)
- drop upstreamed link-libdvdread patch
commit 7537d5e2da03a62eef237d576b2fd9cb397c27a6
Author: Kevin Kofler <kevin.kofler(a)chello.at>
Date: Mon Jul 16 21:50:44 2012 +0200
- do not remove DVD plugin, not encumbered (only uses libdvdread/libdvdnav)
* Mon Jul 16 2012 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.21-2
- do not remove DVD plugin, not encumbered (only uses libdvdread/libdvdnav)
It makes no sense to remove the DVD input plugin when:
* the libdvd* libraries which do all the actual work are in Fedora,
* GStreamer also ships the exact equivalent functionality in Fedora and
* we are now shipping the BluRay input plugin in Fedora.
The DVD input plugin does not include nor depend on any decoding or decryption
code, it only wraps the libdvdread and libdvdnav libraries. (The same goes for
the BluRay plugin, except libbluray is used there.)
diff --git a/sources b/sources
index cce5cd6..fd1b3c5 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-121b82650df35c7d701586889edc9aab xine-lib-1.1.21-pruned.tar.xz
+1568a378a732bd9b69d418674ad4165c xine-lib-1.1.21-pruned.tar.xz
diff --git a/xine-lib-cleanup-sources.sh b/xine-lib-cleanup-sources.sh
index 6a1aa82..a250800 100755
--- a/xine-lib-cleanup-sources.sh
+++ b/xine-lib-cleanup-sources.sh
@@ -44,7 +44,10 @@ for remove in ffmpeg; do
rmpluglib combined ffmpeg
done
# Input plugins
-for p in dvd vcd mms; do
+# DVD reading (dvd input plugin) has now been in Fedora for a while (libdvdread,
+# libdvdnav), the xine-lib code only wraps those libraries. (Decrypting and
+# decoding are of course still separate and forbidden in Fedora.)
+for p in vcd mms; do
echo "removing $p input plugin..."
# Remove sources
for sourcefile in `awk '/^xineplug_inp_'$p'_la_SOURCES/ { $1=""; $2=""; print $0}' src/input/Makefile.am`; do
diff --git a/xine-lib.spec b/xine-lib.spec
index 17aedfa..2f2352c 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -26,7 +26,7 @@
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.21
-Release: 1%{?dist}
+Release: 2%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://www.xine-project.org/
@@ -47,6 +47,9 @@ Patch9: xine-lib-1.1.16.2-multilib.patch
Provides: xine-lib(plugin-abi) = %{plugin_abi}
%{?_isa:Provides: xine-lib(plugin-abi)%{?_isa} = %{plugin_abi}}
+# DVD plugin moved from there
+Conflicts: xine-lib-extras-freeworld < 1.1.21-3
+
BuildRequires: autoconf automake libtool
# X11
BuildRequires: libX11-devel
@@ -315,6 +318,7 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_bluray.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_cdda.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_dvb.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_dvd.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_file.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_http.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_net.so
@@ -375,6 +379,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Mon Jul 16 2012 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.21-2
+- do not remove DVD plugin, not encumbered (only uses libdvdread/libdvdnav)
+
* Tue Jun 12 2012 Xavier Bachelot <xavier(a)bachelot.org> 1.1.21-1
- Update to 1.1.21.
- Enable libbluray support.
commit ad948d47c8744b87933139840d6fcf8f268de682
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Sat Jun 23 05:32:58 2012 -0500
s/pulseaudio-lib-devel/pkgconfig(libpulse)/
or use pulseaudio-libs-devel these days, that old name was deprecated
long ago
diff --git a/xine-lib.spec b/xine-lib.spec
index 54d791b..17aedfa 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -79,13 +79,13 @@ BuildRequires: jack-audio-connection-kit-devel
BuildRequires: libmodplug-devel
BuildRequires: libmpcdec-devel
BuildRequires: libvorbis-devel
-BuildRequires: pulseaudio-lib-devel
BuildRequires: speex-devel
BuildRequires: wavpack-devel
# CDs
BuildRequires: libcdio-devel
# Other
BuildRequires: pkgconfig
+BuildRequires: pkgconfig(libpulse)
BuildRequires: gtk2-devel
BuildRequires: libsmbclient-devel
BuildRequires: libdvdnav-devel
commit 50ba62cfcd6d8622b4f6840b4b683efe2df3318d
Author: Kevin Kofler <kevin.kofler(a)chello.at>
Date: Sat Jun 23 12:01:23 2012 +0200
Update to 1.1.21, enable libbluray support
* Tue Jun 12 2012 Xavier Bachelot <xavier(a)bachelot.org> 1.1.21-1
- Update to 1.1.21.
- Enable libbluray support.
diff --git a/.gitignore b/.gitignore
index cd0f87f..6f9a840 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,3 +2,4 @@ xine-lib-1.1.19-autotools.patch.bz2
xine-lib-1.1.19-pruned.tar.bz2
/xine-lib-1.1.20-pruned.tar.xz
/xine-lib-1.1.20.1-pruned.tar.xz
+/xine-lib-1.1.21-pruned.tar.xz
diff --git a/sources b/sources
index d1fab77..cce5cd6 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-46d9f91395feb50237ac385aa6654b26 xine-lib-1.1.20.1-pruned.tar.xz
+121b82650df35c7d701586889edc9aab xine-lib-1.1.21-pruned.tar.xz
diff --git a/xine-lib.spec b/xine-lib.spec
index 51128a8..54d791b 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -25,8 +25,8 @@
Summary: A multimedia engine
Name: xine-lib
-Version: 1.1.20.1
-Release: 3%{?dist}
+Version: 1.1.21
+Release: 1%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://www.xine-project.org/
@@ -90,6 +90,7 @@ BuildRequires: gtk2-devel
BuildRequires: libsmbclient-devel
BuildRequires: libdvdnav-devel
BuildRequires: libdvdread-devel
+BuildRequires: libbluray-devel
# Dropped in Fedora 9
Obsoletes: xine-lib-arts < %{version}-%{release}
@@ -311,6 +312,7 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_yuv_frames.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_yuv4mpeg2.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_flac.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_bluray.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_cdda.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_dvb.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_file.so
@@ -373,6 +375,10 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Tue Jun 12 2012 Xavier Bachelot <xavier(a)bachelot.org> 1.1.21-1
+- Update to 1.1.21.
+- Enable libbluray support.
+
* Sat Mar 10 2012 Rex Dieter <rdieter(a)fedoraproject.org> 1.1.20.1-3
- rebuild (ImageMagick)
commit 175663444c00adbafa2bcb7b9f42fa836beade14
Author: Pavel Alexeev (aka Pahan-Hubbitus) <pahan(a)hubbitus.info>
Date: Sun Jun 3 02:09:52 2012 +0400
Rebuild for ImageMagick update http://lists.fedoraproject.org/pipermail/devel/2012-May/167462.html
diff --git a/xine-lib.spec b/xine-lib.spec
index 7bd8afb..5185c70 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -26,7 +26,7 @@
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.20.1
-Release: 1%{?dist}
+Release: 2%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://www.xine-project.org/
@@ -373,6 +373,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Sun Jun 3 2012 Pavel Alexeev <Pahan(a)Hubbitus.info> 1.1.20.1-2
+- Rebuild for ImageMagick update http://lists.fedoraproject.org/pipermail/devel/2012-May/167462.html
+
* Tue Jan 03 2012 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.20.1-1
- update to 1.1.20.1 (bugfix release)
- drop upstreamed link-libdvdread patch
commit 069aba18f74f62bf2f27b3fc35bf191ede1b0e03
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Sat Mar 10 08:16:20 2012 -0600
rebuild (ImageMagick)
diff --git a/xine-lib.spec b/xine-lib.spec
index 40ec7b2..51128a8 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -26,7 +26,7 @@
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.20.1
-Release: 2%{?dist}
+Release: 3%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://www.xine-project.org/
@@ -373,6 +373,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Sat Mar 10 2012 Rex Dieter <rdieter(a)fedoraproject.org> 1.1.20.1-3
+- rebuild (ImageMagick)
+
* Sat Jan 14 2012 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1.1.20.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
commit 3843e1c31bc7ea855f1687176162e954d7d48fc8
Author: Dennis Gilmore <dennis(a)ausil.us>
Date: Sat Jan 14 02:58:08 2012 -0600
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
diff --git a/xine-lib.spec b/xine-lib.spec
index 7bd8afb..40ec7b2 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -26,7 +26,7 @@
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.20.1
-Release: 1%{?dist}
+Release: 2%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://www.xine-project.org/
@@ -373,6 +373,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Sat Jan 14 2012 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1.1.20.1-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
+
* Tue Jan 03 2012 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.20.1-1
- update to 1.1.20.1 (bugfix release)
- drop upstreamed link-libdvdread patch
commit 4a6eed5ac591c6332b2677ed902c8d9634be313a
Author: Kevin Kofler <Kevin(a)tigcc.ticalc.org>
Date: Tue Jan 3 16:33:48 2012 +0100
Delete obsolete patch.
diff --git a/xine-lib-1.1.20-link-libdvdread.patch b/xine-lib-1.1.20-link-libdvdread.patch
deleted file mode 100644
index c714aad..0000000
--- a/xine-lib-1.1.20-link-libdvdread.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -ur xine-lib-1.1.20/configure.ac xine-lib-1.1.20-link-libdvdread/configure.ac
---- xine-lib-1.1.20/configure.ac 2011-11-13 02:36:20.000000000 +0100
-+++ xine-lib-1.1.20-link-libdvdread/configure.ac 2011-11-20 05:46:16.000000000 +0100
-@@ -1773,6 +1773,7 @@
- AM_PATH_DVDNAV(0.1.9,
- AC_DEFINE(HAVE_DVDNAV,1,[Define this if you have a suitable version of libdvdnav]),
- [AC_MSG_RESULT([*** no usable version of libdvdnav found, using internal copy ***])])
-+ AC_CHECK_LIB(dvdread, navRead_DSI, DVDNAV_LIBS="$DVDNAV_LIBS -ldvdread",)
- else
- AC_MSG_RESULT([Use included DVDNAV support])
- fi
commit 666fd2482ee8915d8828834d5951a8d86f7dc68b
Author: Kevin Kofler <Kevin(a)tigcc.ticalc.org>
Date: Tue Jan 3 16:15:22 2012 +0100
s/2011/2012/, duh…
diff --git a/xine-lib.spec b/xine-lib.spec
index 2921665..7bd8afb 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -373,7 +373,7 @@ rm -rf $RPM_BUILD_ROOT
%changelog
-* Tue Jan 03 2011 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.20.1-1
+* Tue Jan 03 2012 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.20.1-1
- update to 1.1.20.1 (bugfix release)
- drop upstreamed link-libdvdread patch
commit 831d52d6c33a1ef158930bb59d19d81be78a4096
Author: Kevin Kofler <Kevin(a)tigcc.ticalc.org>
Date: Tue Jan 3 16:12:20 2012 +0100
* Tue Jan 03 2011 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.20.1-1
- update to 1.1.20.1 (bugfix release)
- drop upstreamed link-libdvdread patch
diff --git a/.gitignore b/.gitignore
index 4d5df15..cd0f87f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
xine-lib-1.1.19-autotools.patch.bz2
xine-lib-1.1.19-pruned.tar.bz2
/xine-lib-1.1.20-pruned.tar.xz
+/xine-lib-1.1.20.1-pruned.tar.xz
diff --git a/sources b/sources
index cf0f1a3..d1fab77 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-0a916dc5456276402ab2002dd68ded50 xine-lib-1.1.20-pruned.tar.xz
+46d9f91395feb50237ac385aa6654b26 xine-lib-1.1.20.1-pruned.tar.xz
diff --git a/xine-lib.spec b/xine-lib.spec
index 38b18a9..2921665 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -25,7 +25,7 @@
Summary: A multimedia engine
Name: xine-lib
-Version: 1.1.20
+Version: 1.1.20.1
Release: 1%{?dist}
License: GPLv2+
Group: System Environment/Libraries
@@ -43,9 +43,6 @@ Patch1: xine-lib-1.1.4-optflags.patch
Patch8: xine-lib-1.1.17-avsync_hack.patch
# http://bugzilla.redhat.com/477226
Patch9: xine-lib-1.1.16.2-multilib.patch
-# fix system libdvdnav support to also link libdvdread
-# otherwise, we get unresolved symbols in the spudec plugin
-Patch10: xine-lib-1.1.20-link-libdvdread.patch
Provides: xine-lib(plugin-abi) = %{plugin_abi}
%{?_isa:Provides: xine-lib(plugin-abi)%{?_isa} = %{plugin_abi}}
@@ -146,7 +143,6 @@ rm -f configure ltmain.sh libtool m4/libtool.m4 m4/ltoptions.m4 m4/ltversion.m4
%patch1 -p1 -b .optflags
%patch8 -p1 -b .avsync_hack
%patch9 -p1 -b .multilib
-%patch10 -p1 -b .link-libdvdread
./autogen.sh noconfig
@@ -377,6 +373,10 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Tue Jan 03 2011 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.20.1-1
+- update to 1.1.20.1 (bugfix release)
+- drop upstreamed link-libdvdread patch
+
* Sun Nov 20 2011 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.20-1
- update to 1.1.20 (#753758)
- use .xz tarball
commit 838da37aa8bf874de45943593a8eb547fdd0a779
Author: Kevin Kofler <Kevin(a)tigcc.ticalc.org>
Date: Sun Nov 20 05:51:21 2011 +0100
- fix system libdvdnav support to also link libdvdread
diff --git a/xine-lib-1.1.20-link-libdvdread.patch b/xine-lib-1.1.20-link-libdvdread.patch
new file mode 100644
index 0000000..c714aad
--- /dev/null
+++ b/xine-lib-1.1.20-link-libdvdread.patch
@@ -0,0 +1,11 @@
+diff -ur xine-lib-1.1.20/configure.ac xine-lib-1.1.20-link-libdvdread/configure.ac
+--- xine-lib-1.1.20/configure.ac 2011-11-13 02:36:20.000000000 +0100
++++ xine-lib-1.1.20-link-libdvdread/configure.ac 2011-11-20 05:46:16.000000000 +0100
+@@ -1773,6 +1773,7 @@
+ AM_PATH_DVDNAV(0.1.9,
+ AC_DEFINE(HAVE_DVDNAV,1,[Define this if you have a suitable version of libdvdnav]),
+ [AC_MSG_RESULT([*** no usable version of libdvdnav found, using internal copy ***])])
++ AC_CHECK_LIB(dvdread, navRead_DSI, DVDNAV_LIBS="$DVDNAV_LIBS -ldvdread",)
+ else
+ AC_MSG_RESULT([Use included DVDNAV support])
+ fi
diff --git a/xine-lib.spec b/xine-lib.spec
index 1eaa0ef..38b18a9 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -43,6 +43,9 @@ Patch1: xine-lib-1.1.4-optflags.patch
Patch8: xine-lib-1.1.17-avsync_hack.patch
# http://bugzilla.redhat.com/477226
Patch9: xine-lib-1.1.16.2-multilib.patch
+# fix system libdvdnav support to also link libdvdread
+# otherwise, we get unresolved symbols in the spudec plugin
+Patch10: xine-lib-1.1.20-link-libdvdread.patch
Provides: xine-lib(plugin-abi) = %{plugin_abi}
%{?_isa:Provides: xine-lib(plugin-abi)%{?_isa} = %{plugin_abi}}
@@ -143,6 +146,7 @@ rm -f configure ltmain.sh libtool m4/libtool.m4 m4/ltoptions.m4 m4/ltversion.m4
%patch1 -p1 -b .optflags
%patch8 -p1 -b .avsync_hack
%patch9 -p1 -b .multilib
+%patch10 -p1 -b .link-libdvdread
./autogen.sh noconfig
@@ -382,6 +386,7 @@ rm -rf $RPM_BUILD_ROOT
- drop unused deepbind patch
- drop xvmclib_header patch, fixed upstream
- use the system libdvdnav (and libdvdread) instead of the bundled one
+- fix system libdvdnav support to also link libdvdread
- plugin ABI is now 1.30
* Fri Jul 15 2011 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.19-7
commit ce16711891c38ec1bbe5262c1b4259aac850e128
Author: Kevin Kofler <Kevin(a)tigcc.ticalc.org>
Date: Sun Nov 20 05:31:39 2011 +0100
It turns out libdvdnav IS used, in the spudec plugin.
(Or rather, it uses one file from it, which is now in libdvdread.)
diff --git a/xine-lib.spec b/xine-lib.spec
index 35ae72a..1eaa0ef 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -381,7 +381,7 @@ rm -rf $RPM_BUILD_ROOT
- drop autotools patch, run autogen.sh in %%prep instead
- drop unused deepbind patch
- drop xvmclib_header patch, fixed upstream
-- don't build the bundled libdvdnav (unused because DVD input is disabled)
+- use the system libdvdnav (and libdvdread) instead of the bundled one
- plugin ABI is now 1.30
* Fri Jul 15 2011 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.19-7
commit 5002673aba5c6dae60e097e83b245826bee6715f
Author: Kevin Kofler <Kevin(a)tigcc.ticalc.org>
Date: Sun Nov 20 04:56:23 2011 +0100
Remove config.log debugging. (It turns out that Samba has unresolved symbols.)
diff --git a/xine-lib.spec b/xine-lib.spec
index 944fbea..35ae72a 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -189,9 +189,6 @@ export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)"
--with-real-codecs-path=%{codecdir} \
--with-w32-path=%{codecdir}
-cat config.log
-exit 1
-
make %{?_smp_mflags}
commit a06944aa29a396eb128912ba268c1200c010e4e6
Author: Kevin Kofler <Kevin(a)tigcc.ticalc.org>
Date: Sun Nov 20 04:42:26 2011 +0100
Don't patch configure in the optflags patch since we regenerate it anyway.
diff --git a/xine-lib-1.1.4-optflags.patch b/xine-lib-1.1.4-optflags.patch
index a76864a..72540f6 100644
--- a/xine-lib-1.1.4-optflags.patch
+++ b/xine-lib-1.1.4-optflags.patch
@@ -9,14 +9,3 @@
archopt_val=
case "$host_or_hostalias" in
---- xine-lib-1.1.4/configure~ 2007-01-30 23:02:56.000000000 +0200
-+++ xine-lib-1.1.4/configure 2007-01-30 23:03:40.000000000 +0200
-@@ -47754,7 +47754,7 @@
-
- DEBUG_CFLAGS="-O $DEBUG_CFLAGS"
-
-- if test x"$sarchopt" != "xno"; then
-+ if false ; then
- archopt_val=
-
- case "$host_or_hostalias" in
commit 4b30f13d69768cb66f0ee64bf29f7c04ac595d54
Author: Kevin Kofler <Kevin(a)tigcc.ticalc.org>
Date: Sun Nov 20 04:30:29 2011 +0100
- don't build the bundled libdvdnav (unused because DVD input is disabled)
- plugin ABI is now 1.30
- cat config.log and exit 1 to debug smbc_init detection issue
diff --git a/xine-lib.spec b/xine-lib.spec
index 3bdf3b8..944fbea 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -2,7 +2,7 @@
# - libstk: http://www.libstk.net/ - probably not, see 1.1.5 ChangeLog
# - drop the opengl video out plugin?
-%define plugin_abi 1.29
+%define plugin_abi 1.30
%define codecdir %{_libdir}/codecs
%ifarch %{ix86}
@@ -140,22 +140,12 @@ This package contains extra plugins for %{name}:
%patch0 -p1 -b .no_autopoint
# extra work for to omit old libtool-related crud
rm -f configure ltmain.sh libtool m4/libtool.m4 m4/ltoptions.m4 m4/ltversion.m4
-./autogen.sh noconfig
-rm -rf autom4te.cache *~
-touch -r configure.ac aclocal.m4
-touch -r m4/optimizations.m4 m4/optimizations.m4.stamp
%patch1 -p1 -b .optflags
-touch -r m4/optimizations.m4.stamp m4/optimizations.m4
%patch8 -p1 -b .avsync_hack
%patch9 -p1 -b .multilib
-# autotools patch + touch'ing above seems to miss something, aclocal
-# runs on make anyway, let's use the ./autogen.sh hammer for now.
./autogen.sh noconfig
-#Avoid standard rpaths on lib64 archs: (autotools patch handles this too)
-#sed -i -e 's|"/lib /usr/lib\b|"/%{_lib} %{_libdir}|' configure
-
%build
export FFMPEG_CFLAGS=" " FFMPEG_LIBS=" "
@@ -187,6 +177,7 @@ export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)"
%endif # freetype
--with-caca \
--with-external-ffmpeg \
+ --with-external-dvdnav \
--with-xv-path=%{_libdir} \
--with-libflac \
--with-external-libmpcdec \
@@ -198,6 +189,9 @@ export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)"
--with-real-codecs-path=%{codecdir} \
--with-w32-path=%{codecdir}
+cat config.log
+exit 1
+
make %{?_smp_mflags}
@@ -390,6 +384,8 @@ rm -rf $RPM_BUILD_ROOT
- drop autotools patch, run autogen.sh in %%prep instead
- drop unused deepbind patch
- drop xvmclib_header patch, fixed upstream
+- don't build the bundled libdvdnav (unused because DVD input is disabled)
+- plugin ABI is now 1.30
* Fri Jul 15 2011 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.19-7
- rebuild for new DirectFB (1.5.0)
commit 809c5f3c59b688b83cca49f4831ec373fe84f2cd
Author: Kevin Kofler <Kevin(a)tigcc.ticalc.org>
Date: Sun Nov 20 03:12:42 2011 +0100
- drop xvmclib_header patch, fixed upstream
diff --git a/xine-lib-1.1.19-xvmclib_header.patch b/xine-lib-1.1.19-xvmclib_header.patch
deleted file mode 100644
index 880250c..0000000
--- a/xine-lib-1.1.19-xvmclib_header.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -up xine-lib-1.1.19/src/video_out/xxmc.h.ftbfs xine-lib-1.1.19/src/video_out/xxmc.h
---- xine-lib-1.1.19/src/video_out/xxmc.h.ftbfs 2010-03-09 16:17:05.000000000 -0600
-+++ xine-lib-1.1.19/src/video_out/xxmc.h 2011-01-24 08:48:28.516631749 -0600
-@@ -79,6 +79,7 @@
- #include <X11/extensions/Xvlib.h>
- #ifdef HAVE_VLDXVMC
- #include <X11/extensions/vldXvMC.h>
-+ #include <X11/extensions/XvMClib.h>
- #else
- #include <X11/extensions/XvMClib.h>
- #include <X11/extensions/XvMC.h>
diff --git a/xine-lib.spec b/xine-lib.spec
index 798ba4e..3bdf3b8 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -43,10 +43,6 @@ Patch1: xine-lib-1.1.4-optflags.patch
Patch8: xine-lib-1.1.17-avsync_hack.patch
# http://bugzilla.redhat.com/477226
Patch9: xine-lib-1.1.16.2-multilib.patch
-## upstreamable patches
-# fixes ftbfs for xvmc header reshuffling
-Patch50: xine-lib-1.1.19-xvmclib_header.patch
-## upstream patches
Provides: xine-lib(plugin-abi) = %{plugin_abi}
%{?_isa:Provides: xine-lib(plugin-abi)%{?_isa} = %{plugin_abi}}
@@ -152,7 +148,6 @@ touch -r m4/optimizations.m4 m4/optimizations.m4.stamp
touch -r m4/optimizations.m4.stamp m4/optimizations.m4
%patch8 -p1 -b .avsync_hack
%patch9 -p1 -b .multilib
-%patch50 -p1 -b .xvmclib_header
# autotools patch + touch'ing above seems to miss something, aclocal
# runs on make anyway, let's use the ./autogen.sh hammer for now.
@@ -394,6 +389,7 @@ rm -rf $RPM_BUILD_ROOT
- drop ESD (esound) support on F17+ (native PulseAudio just works)
- drop autotools patch, run autogen.sh in %%prep instead
- drop unused deepbind patch
+- drop xvmclib_header patch, fixed upstream
* Fri Jul 15 2011 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.19-7
- rebuild for new DirectFB (1.5.0)
commit ad825765e9a9b162b49e1c6d0197bbdbd6f000e1
Author: Kevin Kofler <Kevin(a)tigcc.ticalc.org>
Date: Sun Nov 20 03:00:42 2011 +0100
Delete unused deepbind patch.
diff --git a/xine-lib-1.1.1-deepbind-939.patch b/xine-lib-1.1.1-deepbind-939.patch
deleted file mode 100644
index b04400b..0000000
--- a/xine-lib-1.1.1-deepbind-939.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- xine-lib-1.1.1/src/xine-engine/load_plugins.c.~1~ 2005-09-19 09:14:02.000000000 -0700
-+++ xine-lib-1.1.1/src/xine-engine/load_plugins.c 2006-04-22 23:07:33.000000000 -0700
-@@ -591,7 +591,7 @@ static void collect_plugins(xine_t *this
- printf("load_plugins: %s not cached\n", str);
- #endif
-
-- if(!info && (lib = dlopen (str, RTLD_LAZY | RTLD_GLOBAL)) == NULL) {
-+ if(!info && (lib = dlopen (str, RTLD_LAZY | RTLD_GLOBAL | RTLD_DEEPBIND)) == NULL) {
- const char *error = dlerror();
- /* too noisy -- but good to catch unresolved references */
- xprintf(this, XINE_VERBOSITY_LOG,
-@@ -649,7 +649,7 @@ static int _load_plugin_class(xine_t *th
- /* load the dynamic library if needed */
- if (!node->file->lib_handle) {
- lprintf("dlopen %s\n", filename);
-- if ((lib = dlopen (filename, RTLD_LAZY | RTLD_GLOBAL)) == NULL) {
-+ if ((lib = dlopen (filename, RTLD_LAZY | RTLD_GLOBAL | RTLD_DEEPBIND)) == NULL) {
- const char *error = dlerror();
-
- xine_log (this, XINE_LOG_PLUGIN,
commit f955cb1ab13016fa3fb3a680725522905f34c3d1
Author: Kevin Kofler <Kevin(a)tigcc.ticalc.org>
Date: Sun Nov 20 02:58:05 2011 +0100
* Sun Nov 20 2011 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.20-1
- update to 1.1.20 (#753758)
- use .xz tarball
- drop old conditionals
- drop ESD (esound) support on F17+ (native PulseAudio just works)
- drop autotools patch, run autogen.sh in %%prep instead
- drop unused deepbind patch
diff --git a/.gitignore b/.gitignore
index de99961..4d5df15 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
xine-lib-1.1.19-autotools.patch.bz2
xine-lib-1.1.19-pruned.tar.bz2
+/xine-lib-1.1.20-pruned.tar.xz
diff --git a/sources b/sources
index 7be858d..cf0f1a3 100644
--- a/sources
+++ b/sources
@@ -1,2 +1 @@
-1a77122fa938a3f8cb85cef231236c39 xine-lib-1.1.19-autotools.patch.bz2
-552e3e38f1afb77428f6aaa08e13b0d2 xine-lib-1.1.19-pruned.tar.bz2
+0a916dc5456276402ab2002dd68ded50 xine-lib-1.1.20-pruned.tar.xz
diff --git a/xine-lib-mk-autotools-patch.sh b/xine-lib-mk-autotools-patch.sh
deleted file mode 100644
index 3cb6d1a..0000000
--- a/xine-lib-mk-autotools-patch.sh
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/bin/sh
-
-# be sure to have all build deps + libtool installed before running this
-
-set -e
-
-if [ -z "$1" -o $# -ne 1 ]; then
- echo "Usage: $0 <xine-lib-version>"
- exit 2
-fi
-
-version=$1
-
-# missing dependency on autoconf >= (apparently) 2.61 in upstream autofoo files
-acversion="$(rpm -q --qf=%{VERSION} autoconf)"
-case $acversion in
- 2.6*) ;;
- *) echo "ERROR: autoconf >= 2.61 required" ; exit 1 ;;
-esac
-
-rm -rf xine-lib-$version xine-lib-$version-pruned
-tar jxf xine-lib-$version-pruned.tar.bz2
-cp -a xine-lib-$version xine-lib-$version-pruned
-
-pushd xine-lib-$version
-patch -p1 < ../xine-lib-${version}-no_autopoint.patch
-# extra work for to omit old libtool-related crud
-rm -f configure ltmain.sh libtool m4/libtool.m4 m4/ltoptions.m4 m4/ltversion.m4
-./autogen.sh noconfig
-rm -rf autom4te.cache *~
-popd
-
-diff -Nru xine-lib-$version-pruned xine-lib-$version \
-| bzip2 --best > xine-lib-$version-autotools.patch.bz2
diff --git a/xine-lib.spec b/xine-lib.spec
index b47ff84..798ba4e 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -1,7 +1,6 @@
# TODO, sometime, maybe:
# - libstk: http://www.libstk.net/ - probably not, see 1.1.5 ChangeLog
# - drop the opengl video out plugin?
-# - deprecate ESD support?
%define plugin_abi 1.29
%define codecdir %{_libdir}/codecs
@@ -12,61 +11,34 @@
%define have_vidix 0
%endif # ix86
-%if 0%{?fedora}
-%define _disable_gnomevfs --disable-gnomevfs
-%define with_aalib %{?_without_aalib:0}%{!?_without_aalib:1}
-%else
-%define with_aalib %{?_with_aalib:1}%{!?_with_aalib:0}
-%endif # Fedora
-
-%define _enable_xvmc --enable-xvmc
-%if 0%{?rhel} > 5
-%ifarch ppc64
-%undefine _enable_xvmc
-%endif
-%endif
-
-%ifarch %{arm}
+%ifarch %{arm}
%define _without_directfb 1
%endif
-%if 0%{?fedora} > 8 || 0%{?rhel} > 5
-%define _enable_v4l --enable-v4l
-%define _enable_libv4l --enable-libv4l
-%define _without_arts --without-arts
-%define _with_pa %{?_without_pulseaudio:0}%{!?_without_pulseaudio:1}
-%define _with_xcb %{?_without_xcb:0}%{!?_without_xcb:1}
-%endif
-
-%if 0%{?fedora} > 14
+%if 0%{?fedora} > 14
%define _disable_v4l1 1
%endif
-%if 0%{?fedora} > 11 || 0%{?rhel} > 5
-%define pa_in_main 1
+%if 0%{?fedora} > 16
+%define _without_esound 1
%endif
-Summary: A multimedia engine
+Summary: A multimedia engine
Name: xine-lib
-Version: 1.1.19
-Release: 7%{?dist}
+Version: 1.1.20
+Release: 1%{?dist}
License: GPLv2+
Group: System Environment/Libraries
-URL: http://www.xine-project.org/
+URL: http://www.xine-project.org/
# The tarball is generated from the upstream tarball using
# the script in SOURCE1. It prunes potentially patented code
-#Source0: http://downloads.sourceforge.net/xine/xine-lib-%{version}.tar.bz2
-Source0: xine-lib-%{version}-pruned.tar.bz2
+#Source0: http://downloads.sourceforge.net/xine/xine-lib-%{version}.tar.xz
+Source0: xine-lib-%{version}-pruned.tar.xz
Source1: xine-lib-cleanup-sources.sh
-Source2: xine-lib-mk-autotools-patch.sh
-# autotools patch created with source2
-Patch0: xine-lib-%{version}-autotools.patch.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+Patch0: xine-lib-1.1.19-no_autopoint.patch
Patch1: xine-lib-1.1.4-optflags.patch
-# used to help
-Patch2: xine-lib-%{version}-no_autopoint.patch
-Patch6: xine-lib-1.1.1-deepbind-939.patch
# http://bugzilla.redhat.com/470568
Patch8: xine-lib-1.1.17-avsync_hack.patch
# http://bugzilla.redhat.com/477226
@@ -79,71 +51,56 @@ Patch50: xine-lib-1.1.19-xvmclib_header.patch
Provides: xine-lib(plugin-abi) = %{plugin_abi}
%{?_isa:Provides: xine-lib(plugin-abi)%{?_isa} = %{plugin_abi}}
-BuildRequires: automake libtool
+BuildRequires: autoconf automake libtool
# X11
BuildRequires: libX11-devel
BuildRequires: libXv-devel
BuildRequires: libXinerama-devel
-%{?_enable_xvmc:BuildRequires: libXvMC-devel}
+BuildRequires: libXvMC-devel
BuildRequires: libGLU-devel
-%if 0%{?_enable_libv4l:1}
BuildRequires: libv4l-devel
-%endif
-%if 0%{?_with_xcb:1}
BuildRequires: libxcb-devel
-%endif # xcb
# Video
BuildRequires: SDL-devel
BuildRequires: libtheora-devel
BuildRequires: libmng-devel
-%if %{with_aalib}
BuildRequires: aalib-devel >= 1.4
-%endif # aalib
BuildRequires: libcaca-devel >= 0.99-0.5.beta14
%if 0%{!?_without_directfb:1}
BuildRequires: directfb-devel
%endif # directfb
-%if 0%{!?_without_imagemagick:1}
BuildRequires: ImageMagick-devel >= 6.2.4.6-1
-%endif # imagemagick
%if 0%{?_with_freetype:1}
BuildRequires: fontconfig-devel
%endif # freetype
# Audio
BuildRequires: alsa-lib-devel >= 0.9.0
+%if 0%{!?_without_esound:1}
BuildRequires: esound-devel
+%endif # esound
BuildRequires: flac-devel
BuildRequires: jack-audio-connection-kit-devel
BuildRequires: libmodplug-devel
BuildRequires: libmpcdec-devel
BuildRequires: libvorbis-devel
-%if 0%{?_with_pa:1}
BuildRequires: pulseaudio-lib-devel
-%endif # pa
BuildRequires: speex-devel
-%if 0%{?_without_arts:1}
-Obsoletes: xine-lib-arts < %{version}-%{release}
-%else
-BuildRequires: arts-devel
-%endif
BuildRequires: wavpack-devel
# CDs
BuildRequires: libcdio-devel
# Other
BuildRequires: pkgconfig
BuildRequires: gtk2-devel
-%if 0%{?fedora} > 6 || 0%{?rhel} > 5
BuildRequires: libsmbclient-devel
-%else
-BuildRequires: samba-common
-%endif
BuildRequires: libdvdnav-devel
BuildRequires: libdvdread-devel
-%if 0%{?pa_in_main}
+# Dropped in Fedora 9
+Obsoletes: xine-lib-arts < %{version}-%{release}
+
+# Included in main package since Fedora 12
Obsoletes: xine-lib-pulseaudio < 1.1.16.3-5
Provides: xine-lib-pulseaudio = %{version}-%{release}
-%endif
%description
This package contains the Xine library. It can be used to play back
@@ -160,21 +117,6 @@ Requires: zlib-devel
%description devel
This package contains development files for %{name}.
-%package arts
-Summary: aRts plugin for %{name}
-Group: System Environment/Libraries
-Requires: %{name}%{?_isa} = %{version}-%{release}
-#Requires: xine-lib(plugin-abi) = %{plugin_abi}
-%description arts
-This package contains the aRts plugin for %{name}.
-
-%package pulseaudio
-Summary: Pulseaudio plugin for %{name}
-Group: System Environment/Libraries
-Requires: %{name}%{?_isa} = %{version}-%{release}
-%description pulseaudio
-This package contains the pulseaudio plugin for %{name}.
-
%package extras
Summary: Additional plugins for %{name}
Group: System Environment/Libraries
@@ -182,21 +124,16 @@ Requires: %{name}%{?_isa} = %{version}-%{release}
#Requires: xine-lib(plugin-abi) = %{plugin_abi}
%description extras
This package contains extra plugins for %{name}:
+%if 0%{!?_without_esound:1}
- EsounD
+%endif # esound
- JACK
- GDK-Pixbuf
-%if ! 0%{?_disable_gnomevfs:1}
- - GNOME VFS
-%endif
- SMB
- SDL
-%if %{with_aalib}
- AA-lib
-%endif # aalib
- Libcaca
-%if 0%{!?_without_imagemagick:1}
- Image decoding
-%endif # imagemagick
%if 0%{!?_without_directfb:1}
- DirectFB output
%endif # directfb
@@ -204,14 +141,15 @@ This package contains extra plugins for %{name}:
%prep
%setup -q
-%patch0 -p1 -b .autotools
+%patch0 -p1 -b .no_autopoint
+# extra work for to omit old libtool-related crud
+rm -f configure ltmain.sh libtool m4/libtool.m4 m4/ltoptions.m4 m4/ltversion.m4
+./autogen.sh noconfig
+rm -rf autom4te.cache *~
touch -r configure.ac aclocal.m4
touch -r m4/optimizations.m4 m4/optimizations.m4.stamp
%patch1 -p1 -b .optflags
touch -r m4/optimizations.m4.stamp m4/optimizations.m4
-# needed at least when compiling with external ffmpeg and internal faad livna bug#939.
-# see also http://bugzilla.redhat.com/480504 for side-effects
-#patch6 -p1 -b .deepbind
%patch8 -p1 -b .avsync_hack
%patch9 -p1 -b .multilib
%patch50 -p1 -b .xvmclib_header
@@ -236,10 +174,10 @@ export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)"
%if 0%{!?_without_directfb:1}
--enable-directfb \
%endif # directfb
- %{?_enable_v4l}%{!?_enable_v4l:--disable-v4l} \
- %{?_enable_libv4l}%{!?_enable_libv4l:--disable-libv4l} \
- %{?_enable_xvmc}%{!?_enable_xvmc:--disable-xvmc} \
- %{?_disable_gnomevfs} \
+ --enable-v4l \
+ --enable-libv4l \
+ --enable-xvmc \
+ --disable-gnomevfs \
--disable-a52dec \
--disable-mad \
--disable-vcd \
@@ -248,19 +186,19 @@ export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)"
%if 0%{?_with_freetype:1}
%if 0%{?_with_antialiasing:1}
--enable-antialiasing \
- --with-caca \
%endif # antialiasing
--with-freetype \
--with-fontconfig \
%endif # freetype
+ --with-caca \
--with-external-ffmpeg \
--with-xv-path=%{_libdir} \
--with-libflac \
--with-external-libmpcdec \
-%if 0%{?_without_imagemagick:1}
- --without-imagemagick \
-%endif # imagemagick
- %{!?_without_arts:--with-arts} %{?_without_arts} \
+ --without-arts \
+%if 0%{?_without_esound:1}
+ --without-esound \
+%endif
--with-wavpack \
--with-real-codecs-path=%{codecdir} \
--with-w32-path=%{codecdir}
@@ -339,6 +277,7 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_file.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_none.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_oss.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_pulseaudio.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_bitplane.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_gsm610.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_lpcm.so
@@ -395,13 +334,11 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_rtp.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_rtsp.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_stdin_fifo.so
-%if 0%{?_enable_v4l:1}
%if ! 0%{?_disable_v4l1:1}
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_pvr.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_v4l.so
%endif
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_v4l2.so
-%endif
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_fb.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_none.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_opengl.so
@@ -410,44 +347,24 @@ rm -rf $RPM_BUILD_ROOT
%if %{have_vidix}
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_vidix.so
%endif # vidix
-%if 0%{?_with_xcb:1}
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xcbshm.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xcbxv.so
-%endif # xcb
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xshm.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xv.so
-%if 0%{?_enable_xvmc:1}
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xvmc.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xxmc.so
-%endif
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_wavpack.so
-%if 0%{?_with_pa:1}
-%if ! 0%{?pa_in_main}
-%files pulseaudio
-%defattr(-,root,root,-)
-%endif
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_pulseaudio.so
-%endif
-
-%if 0%{!?_without_arts:1}
-%files arts
-%defattr(-,root,root,-)
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_arts.so
-%endif
-
%files extras
%defattr(-,root,root,-)
+%if 0%{!?_without_esound:1}
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_esd.so
+%endif # esound
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_jack.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_gdk_pixbuf.so
-%if 0%{!?_without_imagemagick:1}
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_image.so
-%endif # imagemagick
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_smb.so
-%if %{with_aalib}
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_aa.so
-%endif # aalib
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_caca.so
%if 0%{!?_without_directfb:1}
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_directfb.so
@@ -470,6 +387,14 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Sun Nov 20 2011 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.20-1
+- update to 1.1.20 (#753758)
+- use .xz tarball
+- drop old conditionals
+- drop ESD (esound) support on F17+ (native PulseAudio just works)
+- drop autotools patch, run autogen.sh in %%prep instead
+- drop unused deepbind patch
+
* Fri Jul 15 2011 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.19-7
- rebuild for new DirectFB (1.5.0)
commit 7a494c091c9b8764003f880428e1d68f198d455a
Author: Kevin Kofler <Kevin(a)tigcc.ticalc.org>
Date: Sun Nov 20 02:01:49 2011 +0100
xine-lib-cleanup-sources.sh: Remove patches for forbidden libraries.
While they don't seem to contain any actually encumbered code, I feel it's safer
to not have them in there. They're useless for us in any case.
diff --git a/xine-lib-cleanup-sources.sh b/xine-lib-cleanup-sources.sh
index 1ccd7cc..6a1aa82 100755
--- a/xine-lib-cleanup-sources.sh
+++ b/xine-lib-cleanup-sources.sh
@@ -76,6 +76,8 @@ sed -i -e '/^xineplug_decode_nsf_la/,/^\s*$/d' \
-e 's/ nosefart//' \
src/libxineadec/Makefile.am
sed -i -e '/nosefart\/Makefile/d' configure.ac
+# Patches for forbidden libraries
+rm -fv misc/lib*.patch win32/scripts/*.patch
# All clean !
commit 23f22cd378b4b2a44ea7e0c766d186995965cb1d
Author: Kevin Kofler <Kevin(a)tigcc.ticalc.org>
Date: Sun Nov 20 01:55:58 2011 +0100
xine-lib-cleanup-sources.sh: Fix removing unwanted input plugin files.
EXTRA_DIST is not an actual use of the file.
diff --git a/xine-lib-cleanup-sources.sh b/xine-lib-cleanup-sources.sh
index 1cabc9c..1ccd7cc 100755
--- a/xine-lib-cleanup-sources.sh
+++ b/xine-lib-cleanup-sources.sh
@@ -48,7 +48,7 @@ for p in dvd vcd mms; do
echo "removing $p input plugin..."
# Remove sources
for sourcefile in `awk '/^xineplug_inp_'$p'_la_SOURCES/ { $1=""; $2=""; print $0}' src/input/Makefile.am`; do
- if [ "`grep -c $sourcefile src/input/Makefile.am`" -le 1 ]; then # if this file is only used for this plugin
+ if [ "`grep -v '^EXTRA_DIST = ' src/input/Makefile.am | grep -c $sourcefile`" -le 1 ]; then # if this file is only used for this plugin
rm -f src/input/$sourcefile
fi
done
commit c02680866f0435267e45c45280a7fd598bc103d3
Author: Kevin Kofler <Kevin(a)tigcc.ticalc.org>
Date: Sun Nov 20 01:47:21 2011 +0100
xine-lib-cleanup-sources.sh: Also remove libmpeg2new.
diff --git a/xine-lib-cleanup-sources.sh b/xine-lib-cleanup-sources.sh
index f7ba13e..1cabc9c 100755
--- a/xine-lib-cleanup-sources.sh
+++ b/xine-lib-cleanup-sources.sh
@@ -30,7 +30,7 @@ rmpluglib()
}
# Main libraries
-for remove in libfaad libffmpeg libmad libmpeg2 dxr3 liba52 libdts; do
+for remove in libfaad libffmpeg libmad libmpeg2 libmpeg2new dxr3 liba52 libdts; do
echo "removing src/$remove..."
rm -rf src/$remove
sed -i -e "/$remove/d" src/Makefile.am
commit fffc4c3b90583bc0decf855fb60319bda8f64753
Author: Kevin Kofler <Kevin(a)tigcc.ticalc.org>
Date: Sun Nov 20 01:40:14 2011 +0100
xine-lib-cleanup-sources.sh: Use .xz tarballs.
diff --git a/xine-lib-cleanup-sources.sh b/xine-lib-cleanup-sources.sh
index 31cff0f..f7ba13e 100755
--- a/xine-lib-cleanup-sources.sh
+++ b/xine-lib-cleanup-sources.sh
@@ -6,9 +6,9 @@ if [ -z "$1" -o $# -ne 1 ]; then
fi
version=$1
-tarball="xine-lib-$version.tar.bz2"
+tarball="xine-lib-$version.tar.xz"
dir="xine-lib-$version"
-modtarball="xine-lib-$version-pruned.tar.bz2"
+modtarball="xine-lib-$version-pruned.tar.xz"
if [ ! -f $tarball ]; then
@@ -18,7 +18,7 @@ fi
echo "Uncompressing $tarball..."
rm -rf $dir
-tar -xjf $tarball
+tar -xJf $tarball
cd $dir
rmpluglib()
@@ -81,5 +81,5 @@ sed -i -e '/nosefart\/Makefile/d' configure.ac
cd ..
echo "Generating $modtarball..."
-tar -cjf $modtarball $dir
+tar -cJf $modtarball $dir
rm -rf $dir
commit fc45a321b84f471a440fe28fe92791b1c89e5c00
Author: Kevin Kofler <Kevin(a)tigcc.ticalc.org>
Date: Fri Jul 15 18:34:40 2011 +0200
* Fri Jul 15 2011 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.19-7
- rebuild for new DirectFB (1.5.0)
diff --git a/xine-lib.spec b/xine-lib.spec
index 087da2c..b47ff84 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -49,7 +49,7 @@
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.19
-Release: 6%{?dist}
+Release: 7%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://www.xine-project.org/
@@ -470,6 +470,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Fri Jul 15 2011 Kevin Kofler <Kevin(a)tigcc.ticalc.org> 1.1.19-7
+- rebuild for new DirectFB (1.5.0)
+
* Mon Feb 14 2011 Rex Dieter <rdieter(a)fedoraproject.org> 1.1.19-6
- split v4l, libv4l handling
- omit v4l(1) bits (f15+)
commit ecb7e8977815b8feca645fbc7ae618d8d9b09913
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Mon Feb 14 10:45:46 2011 -0600
another approach, disabling v4l support hammers both v4l1 and v4l2
diff --git a/xine-lib.spec b/xine-lib.spec
index 726c3c0..087da2c 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -39,7 +39,7 @@
%endif
%if 0%{?fedora} > 14
-%undefine _enable_v4l
+%define _disable_v4l1 1
%endif
%if 0%{?fedora} > 11 || 0%{?rhel} > 5
@@ -283,6 +283,12 @@ rm -Rf $RPM_BUILD_ROOT%{_libdir}/libxine.la __docs/README \
# Directory for binary codecs
mkdir -p $RPM_BUILD_ROOT%{codecdir}
+# unpackaged files
+%if 0%{?_disable_v4l1:1}
+rm -fv $RPM_BUILD_ROOT%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_pvr.so
+rm -fv $RPM_BUILD_ROOT%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_v4l.so
+%endif
+
%clean
rm -rf $RPM_BUILD_ROOT
@@ -390,10 +396,10 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_rtsp.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_stdin_fifo.so
%if 0%{?_enable_v4l:1}
+%if ! 0%{?_disable_v4l1:1}
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_pvr.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_v4l.so
%endif
-%if 0%{?_enable_libv4l:1)
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_v4l2.so
%endif
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_fb.so
commit 0f41a42622a2890712568d49eeb4bd286ddc56ad
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Mon Feb 14 08:56:29 2011 -0600
- omit v4l(1) bits (f15+)
diff --git a/xine-lib.spec b/xine-lib.spec
index b43f805..726c3c0 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -38,6 +38,10 @@
%define _with_xcb %{?_without_xcb:0}%{!?_without_xcb:1}
%endif
+%if 0%{?fedora} > 14
+%undefine _enable_v4l
+%endif
+
%if 0%{?fedora} > 11 || 0%{?rhel} > 5
%define pa_in_main 1
%endif
@@ -462,6 +466,7 @@ rm -rf $RPM_BUILD_ROOT
%changelog
* Mon Feb 14 2011 Rex Dieter <rdieter(a)fedoraproject.org> 1.1.19-6
- split v4l, libv4l handling
+- omit v4l(1) bits (f15+)
* Mon Feb 07 2011 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1.1.19-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
commit 4c0623f6462211f3bd512edce7139e0be847a783
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Mon Feb 14 08:25:29 2011 -0600
- split v4l, libv4l handling
diff --git a/xine-lib.spec b/xine-lib.spec
index b69280e..b43f805 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -31,7 +31,8 @@
%endif
%if 0%{?fedora} > 8 || 0%{?rhel} > 5
-%define _enable_v4l --enable-v4l --enable-libv4l
+%define _enable_v4l --enable-v4l
+%define _enable_libv4l --enable-libv4l
%define _without_arts --without-arts
%define _with_pa %{?_without_pulseaudio:0}%{!?_without_pulseaudio:1}
%define _with_xcb %{?_without_xcb:0}%{!?_without_xcb:1}
@@ -44,7 +45,7 @@
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.19
-Release: 5%{?dist}
+Release: 6%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://www.xine-project.org/
@@ -81,7 +82,7 @@ BuildRequires: libXv-devel
BuildRequires: libXinerama-devel
%{?_enable_xvmc:BuildRequires: libXvMC-devel}
BuildRequires: libGLU-devel
-%if 0%{?_enable_v4l:1}
+%if 0%{?_enable_libv4l:1}
BuildRequires: libv4l-devel
%endif
%if 0%{?_with_xcb:1}
@@ -231,7 +232,8 @@ export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)"
%if 0%{!?_without_directfb:1}
--enable-directfb \
%endif # directfb
- %{?_enable_v4l}%{!?_enable_v4l:--disable-v4l --disable-libv4l} \
+ %{?_enable_v4l}%{!?_enable_v4l:--disable-v4l} \
+ %{?_enable_libv4l}%{!?_enable_libv4l:--disable-libv4l} \
%{?_enable_xvmc}%{!?_enable_xvmc:--disable-xvmc} \
%{?_disable_gnomevfs} \
--disable-a52dec \
@@ -386,6 +388,8 @@ rm -rf $RPM_BUILD_ROOT
%if 0%{?_enable_v4l:1}
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_pvr.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_v4l.so
+%endif
+%if 0%{?_enable_libv4l:1)
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_v4l2.so
%endif
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_fb.so
@@ -456,6 +460,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Mon Feb 14 2011 Rex Dieter <rdieter(a)fedoraproject.org> 1.1.19-6
+- split v4l, libv4l handling
+
* Mon Feb 07 2011 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1.1.19-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
commit 941d67e1e4beec7b114b368638958cdc1b80f964
Author: Dennis Gilmore <dennis(a)ausil.us>
Date: Mon Feb 7 23:14:53 2011 -0600
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
diff --git a/xine-lib.spec b/xine-lib.spec
index 771fe4d..b69280e 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -44,7 +44,7 @@
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.19
-Release: 4%{?dist}
+Release: 5%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://www.xine-project.org/
@@ -456,6 +456,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Mon Feb 07 2011 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1.1.19-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
+
* Mon Jan 24 2011 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.19-4
- xvmclib header changes, fixes ftbfs (#635653,#661071)
commit af04f9092826764b0a5cf430e986d86e11f0cc7c
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Mon Jan 24 08:55:18 2011 -0600
- xvmclib header changes, fixes ftbfs (#635653,#661071)
diff --git a/xine-lib-1.1.19-xvmclib_header.patch b/xine-lib-1.1.19-xvmclib_header.patch
new file mode 100644
index 0000000..880250c
--- /dev/null
+++ b/xine-lib-1.1.19-xvmclib_header.patch
@@ -0,0 +1,11 @@
+diff -up xine-lib-1.1.19/src/video_out/xxmc.h.ftbfs xine-lib-1.1.19/src/video_out/xxmc.h
+--- xine-lib-1.1.19/src/video_out/xxmc.h.ftbfs 2010-03-09 16:17:05.000000000 -0600
++++ xine-lib-1.1.19/src/video_out/xxmc.h 2011-01-24 08:48:28.516631749 -0600
+@@ -79,6 +79,7 @@
+ #include <X11/extensions/Xvlib.h>
+ #ifdef HAVE_VLDXVMC
+ #include <X11/extensions/vldXvMC.h>
++ #include <X11/extensions/XvMClib.h>
+ #else
+ #include <X11/extensions/XvMClib.h>
+ #include <X11/extensions/XvMC.h>
diff --git a/xine-lib.spec b/xine-lib.spec
index 09ee7d2..771fe4d 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -44,7 +44,7 @@
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.19
-Release: 3%{?dist}
+Release: 4%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://www.xine-project.org/
@@ -67,6 +67,8 @@ Patch8: xine-lib-1.1.17-avsync_hack.patch
# http://bugzilla.redhat.com/477226
Patch9: xine-lib-1.1.16.2-multilib.patch
## upstreamable patches
+# fixes ftbfs for xvmc header reshuffling
+Patch50: xine-lib-1.1.19-xvmclib_header.patch
## upstream patches
Provides: xine-lib(plugin-abi) = %{plugin_abi}
@@ -207,6 +209,7 @@ touch -r m4/optimizations.m4.stamp m4/optimizations.m4
#patch6 -p1 -b .deepbind
%patch8 -p1 -b .avsync_hack
%patch9 -p1 -b .multilib
+%patch50 -p1 -b .xvmclib_header
# autotools patch + touch'ing above seems to miss something, aclocal
# runs on make anyway, let's use the ./autogen.sh hammer for now.
@@ -453,6 +456,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Mon Jan 24 2011 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.19-4
+- xvmclib header changes, fixes ftbfs (#635653,#661071)
+
* Sun Nov 28 2010 Kevin Kofler <Kevin(a)tigcc.ticalc.org> - 1.1.19-3
- rebuild for new directfb (1.4.11)
commit 91d1fcc33f0c057b52568eb0c7060584336946f5
Author: Kevin Kofler <Kevin(a)tigcc.ticalc.org>
Date: Sun Nov 28 15:48:53 2010 +0100
* Sun Nov 28 2010 Kevin Kofler <Kevin(a)tigcc.ticalc.org> - 1.1.19-3
- rebuild for new directfb (1.4.11)
diff --git a/xine-lib.spec b/xine-lib.spec
index 20b8dbf..09ee7d2 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -44,7 +44,7 @@
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.19
-Release: 2%{?dist}
+Release: 3%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://www.xine-project.org/
@@ -453,6 +453,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Sun Nov 28 2010 Kevin Kofler <Kevin(a)tigcc.ticalc.org> - 1.1.19-3
+- rebuild for new directfb (1.4.11)
+
* Wed Sep 15 2010 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.19-2
- rebuild (ImageMagick)
commit 14b33c734c2db5f59e25a31b6305e705953a8197
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Wed Sep 15 07:33:07 2010 -0500
- rebuild (ImageMagick)
diff --git a/xine-lib.spec b/xine-lib.spec
index b147ceb..20b8dbf 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -44,7 +44,7 @@
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.19
-Release: 1%{?dist}
+Release: 2%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://www.xine-project.org/
@@ -453,6 +453,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Wed Sep 15 2010 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.19-2
+- rebuild (ImageMagick)
+
* Sun Jul 25 2010 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.19-1
- 1.1.19
commit d21dbfca70f6535cb49e3aeac4ba0a3dc437a2c6
Author: Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org>
Date: Thu Jul 29 13:22:27 2010 +0000
dist-git conversion
diff --git a/.cvsignore b/.gitignore
similarity index 100%
rename from .cvsignore
rename to .gitignore
commit 84ca12a84b921c2a00ae8990bb306ebd526347aa
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Mon Jul 26 16:07:10 2010 +0000
re-enable no_autopoint patch, the pain is just not worth it
diff --git a/sources b/sources
index ac4cd83..7be858d 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-e80686751441fb75ce075b097f1af75d xine-lib-1.1.19-autotools.patch.bz2
+1a77122fa938a3f8cb85cef231236c39 xine-lib-1.1.19-autotools.patch.bz2
552e3e38f1afb77428f6aaa08e13b0d2 xine-lib-1.1.19-pruned.tar.bz2
diff --git a/xine-lib-mk-autotools-patch.sh b/xine-lib-mk-autotools-patch.sh
index 1c524c5..3cb6d1a 100644
--- a/xine-lib-mk-autotools-patch.sh
+++ b/xine-lib-mk-autotools-patch.sh
@@ -23,7 +23,7 @@ tar jxf xine-lib-$version-pruned.tar.bz2
cp -a xine-lib-$version xine-lib-$version-pruned
pushd xine-lib-$version
-#patch -p1 < ../xine-lib-${version}-no_autopoint.patch
+patch -p1 < ../xine-lib-${version}-no_autopoint.patch
# extra work for to omit old libtool-related crud
rm -f configure ltmain.sh libtool m4/libtool.m4 m4/ltoptions.m4 m4/ltversion.m4
./autogen.sh noconfig
diff --git a/xine-lib.spec b/xine-lib.spec
index 7f79a4e..b147ceb 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -73,8 +73,6 @@ Provides: xine-lib(plugin-abi) = %{plugin_abi}
%{?_isa:Provides: xine-lib(plugin-abi)%{?_isa} = %{plugin_abi}}
BuildRequires: automake libtool
-# for /usr/bin/autopoint
-BuildRequires: gettext-devel
# X11
BuildRequires: libX11-devel
BuildRequires: libXv-devel
commit c4c909b1a9e6cc0e2189d01be266b1cda8ce0e3d
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Mon Jul 26 15:59:54 2010 +0000
gettext-devel ?
diff --git a/xine-lib.spec b/xine-lib.spec
index 4f815f4..7f79a4e 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -73,7 +73,8 @@ Provides: xine-lib(plugin-abi) = %{plugin_abi}
%{?_isa:Provides: xine-lib(plugin-abi)%{?_isa} = %{plugin_abi}}
BuildRequires: automake libtool
-BuildRequires: gettext
+# for /usr/bin/autopoint
+BuildRequires: gettext-devel
# X11
BuildRequires: libX11-devel
BuildRequires: libXv-devel
commit 143cd6dae967d9c934bcc98b00a3bd72d7131ffe
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Mon Jul 26 15:38:19 2010 +0000
BR: gettext
diff --git a/xine-lib.spec b/xine-lib.spec
index b147ceb..4f815f4 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -73,6 +73,7 @@ Provides: xine-lib(plugin-abi) = %{plugin_abi}
%{?_isa:Provides: xine-lib(plugin-abi)%{?_isa} = %{plugin_abi}}
BuildRequires: automake libtool
+BuildRequires: gettext
# X11
BuildRequires: libX11-devel
BuildRequires: libXv-devel
commit 016fec2ced2ffcd87c9965c053a030b15a044447
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Mon Jul 26 14:01:58 2010 +0000
* Sun Jul 25 2010 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.19-1
- 1.1.19
diff --git a/.cvsignore b/.cvsignore
index 9d21c9b..de99961 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -1,2 +1,2 @@
-xine-lib-1.1.18.1-autotools.patch.bz2
-xine-lib-1.1.18.1-pruned.tar.bz2
+xine-lib-1.1.19-autotools.patch.bz2
+xine-lib-1.1.19-pruned.tar.bz2
diff --git a/sources b/sources
index cf9ff04..ac4cd83 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-e2c45d451fd9d8ad3be680237ff5bcdf xine-lib-1.1.18.1-autotools.patch.bz2
-55de212f416d9d366cad7520ccd7a539 xine-lib-1.1.18.1-pruned.tar.bz2
+e80686751441fb75ce075b097f1af75d xine-lib-1.1.19-autotools.patch.bz2
+552e3e38f1afb77428f6aaa08e13b0d2 xine-lib-1.1.19-pruned.tar.bz2
diff --git a/xine-lib-1.1.18.1-no_autopoint.patch b/xine-lib-1.1.19-no_autopoint.patch
similarity index 100%
rename from xine-lib-1.1.18.1-no_autopoint.patch
rename to xine-lib-1.1.19-no_autopoint.patch
diff --git a/xine-lib-mk-autotools-patch.sh b/xine-lib-mk-autotools-patch.sh
index 3cb6d1a..1c524c5 100644
--- a/xine-lib-mk-autotools-patch.sh
+++ b/xine-lib-mk-autotools-patch.sh
@@ -23,7 +23,7 @@ tar jxf xine-lib-$version-pruned.tar.bz2
cp -a xine-lib-$version xine-lib-$version-pruned
pushd xine-lib-$version
-patch -p1 < ../xine-lib-${version}-no_autopoint.patch
+#patch -p1 < ../xine-lib-${version}-no_autopoint.patch
# extra work for to omit old libtool-related crud
rm -f configure ltmain.sh libtool m4/libtool.m4 m4/ltoptions.m4 m4/ltversion.m4
./autogen.sh noconfig
diff --git a/xine-lib.spec b/xine-lib.spec
index 3602256..b147ceb 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -3,7 +3,7 @@
# - drop the opengl video out plugin?
# - deprecate ESD support?
-%define plugin_abi 1.28
+%define plugin_abi 1.29
%define codecdir %{_libdir}/codecs
%ifarch %{ix86}
@@ -43,8 +43,8 @@
Summary: A multimedia engine
Name: xine-lib
-Version: 1.1.18.1
-Release: 3%{?dist}
+Version: 1.1.19
+Release: 1%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://www.xine-project.org/
@@ -131,6 +131,7 @@ BuildRequires: libsmbclient-devel
BuildRequires: samba-common
%endif
BuildRequires: libdvdnav-devel
+BuildRequires: libdvdread-devel
%if 0%{?pa_in_main}
Obsoletes: xine-lib-pulseaudio < 1.1.16.3-5
@@ -341,7 +342,7 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_sputext.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_theora.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_vorbis.so
-%ifarch %ix86
+%ifarch %{ix86}
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_w32dll.so
%endif # ix86
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_yuv.so
@@ -452,6 +453,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Sun Jul 25 2010 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.19-1
+- 1.1.19
+
* Mon Jul 19 2010 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.18.1-3
- no directfb on arm (yet)
commit 583b25cbebc55b62838424ecb71d912ed09c822e
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Mon Jul 19 17:17:00 2010 +0000
* Mon Jul 19 2010 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.18.1-3
- no directfb on arm (yet)
diff --git a/xine-lib.spec b/xine-lib.spec
index 0e48428..3602256 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -26,6 +26,10 @@
%endif
%endif
+%ifarch %{arm}
+%define _without_directfb 1
+%endif
+
%if 0%{?fedora} > 8 || 0%{?rhel} > 5
%define _enable_v4l --enable-v4l --enable-libv4l
%define _without_arts --without-arts
@@ -40,7 +44,7 @@
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.18.1
-Release: 2%{?dist}
+Release: 3%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://www.xine-project.org/
@@ -448,6 +452,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Mon Jul 19 2010 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.18.1-3
+- no directfb on arm (yet)
+
* Tue Jun 1 2010 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.18.1-2
- Rebuild.
commit 3a547b7aa9047b4cd6d3d5fe85cb8e432fc718a6
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Mon Jun 21 19:24:44 2010 +0000
put back gnome-vfs exclusion in %%description
diff --git a/xine-lib.spec b/xine-lib.spec
index 4aa99ac..0e48428 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -173,7 +173,9 @@ This package contains extra plugins for %{name}:
- EsounD
- JACK
- GDK-Pixbuf
- - GNOME VFS
+%if ! 0%{?_disable_gnomevfs:1}
+ - GNOME VFS
+%endif
- SMB
- SDL
%if %{with_aalib}
commit ba91530bdd8353ecbe0cecb2c28ce7f9e0e57b76
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Mon Jun 21 19:22:43 2010 +0000
sync changes from EL-6 branch
diff --git a/xine-lib.spec b/xine-lib.spec
index 7bb8a4d..4aa99ac 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -13,21 +13,27 @@
%endif # ix86
%if 0%{?fedora}
-%define _enable_v4l --enable-v4l --enable-libv4l
%define _disable_gnomevfs --disable-gnomevfs
%define with_aalib %{?_without_aalib:0}%{!?_without_aalib:1}
-%define with_pa %{?_without_pulseaudio:0}%{!?_without_pulseaudio:1}
%else
%define with_aalib %{?_with_aalib:1}%{!?_with_aalib:0}
-%define with_pa %{?_with_pulseaudio:1}%{!?_with_pulseaudio:0}
%endif # Fedora
-%if 0%{?fedora} || 0%{?rhel} > 5
-%define _without_arts --without-art
-%define _with_xcb %{?_without_xcb:0}%{!?_without_xcb:1}
+%define _enable_xvmc --enable-xvmc
+%if 0%{?rhel} > 5
+%ifarch ppc64
+%undefine _enable_xvmc
+%endif
+%endif
+
+%if 0%{?fedora} > 8 || 0%{?rhel} > 5
+%define _enable_v4l --enable-v4l --enable-libv4l
+%define _without_arts --without-arts
+%define _with_pa %{?_without_pulseaudio:0}%{!?_without_pulseaudio:1}
+%define _with_xcb %{?_without_xcb:0}%{!?_without_xcb:1}
%endif
-%if 0%{?fedora} > 11
+%if 0%{?fedora} > 11 || 0%{?rhel} > 5
%define pa_in_main 1
%endif
@@ -67,7 +73,7 @@ BuildRequires: automake libtool
BuildRequires: libX11-devel
BuildRequires: libXv-devel
BuildRequires: libXinerama-devel
-BuildRequires: libXvMC-devel
+%{?_enable_xvmc:BuildRequires: libXvMC-devel}
BuildRequires: libGLU-devel
%if 0%{?_enable_v4l:1}
BuildRequires: libv4l-devel
@@ -100,7 +106,7 @@ BuildRequires: jack-audio-connection-kit-devel
BuildRequires: libmodplug-devel
BuildRequires: libmpcdec-devel
BuildRequires: libvorbis-devel
-%if %{with_pa}
+%if 0%{?_with_pa:1}
BuildRequires: pulseaudio-lib-devel
%endif # pa
BuildRequires: speex-devel
@@ -167,9 +173,7 @@ This package contains extra plugins for %{name}:
- EsounD
- JACK
- GDK-Pixbuf
-%if ! 0%{?_disable_gnomevfs:1}
- GNOME VFS
-%endif
- SMB
- SDL
%if %{with_aalib}
@@ -218,6 +222,7 @@ export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)"
--enable-directfb \
%endif # directfb
%{?_enable_v4l}%{!?_enable_v4l:--disable-v4l --disable-libv4l} \
+ %{?_enable_xvmc}%{!?_enable_xvmc:--disable-xvmc} \
%{?_disable_gnomevfs} \
--disable-a52dec \
--disable-mad \
@@ -365,12 +370,14 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_http.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_net.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_pnm.so
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_pvr.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_rtp.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_rtsp.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_stdin_fifo.so
+%if 0%{?_enable_v4l:1}
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_pvr.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_v4l.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_v4l2.so
+%endif
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_fb.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_none.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_opengl.so
@@ -385,11 +392,13 @@ rm -rf $RPM_BUILD_ROOT
%endif # xcb
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xshm.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xv.so
+%if 0%{?_enable_xvmc:1}
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xvmc.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xxmc.so
+%endif
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_wavpack.so
-%if %{with_pa}
+%if 0%{?_with_pa:1}
%if ! 0%{?pa_in_main}
%files pulseaudio
%defattr(-,root,root,-)
@@ -397,7 +406,6 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_pulseaudio.so
%endif
-
%if 0%{!?_without_arts:1}
%files arts
%defattr(-,root,root,-)
commit 6f122026f013a43b44f5723d1a187edb0bb63406
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Mon Jun 21 17:20:33 2010 +0000
fix xcb bits for el-6
diff --git a/xine-lib.spec b/xine-lib.spec
index c7b6ef8..7bb8a4d 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -17,15 +17,14 @@
%define _disable_gnomevfs --disable-gnomevfs
%define with_aalib %{?_without_aalib:0}%{!?_without_aalib:1}
%define with_pa %{?_without_pulseaudio:0}%{!?_without_pulseaudio:1}
-%define with_xcb %{?_without_xcb:0}%{!?_without_xcb:1}
%else
%define with_aalib %{?_with_aalib:1}%{!?_with_aalib:0}
%define with_pa %{?_with_pulseaudio:1}%{!?_with_pulseaudio:0}
-%define with_xcb %{?_with_xcb:1}%{!?_with_xcb:0}
%endif # Fedora
-%if 0%{?fedora} > 8 || 0%{?rhel} > 5
-%define _without_arts --without-arts
+%if 0%{?fedora} || 0%{?rhel} > 5
+%define _without_arts --without-art
+%define _with_xcb %{?_without_xcb:0}%{!?_without_xcb:1}
%endif
%if 0%{?fedora} > 11
@@ -73,7 +72,7 @@ BuildRequires: libGLU-devel
%if 0%{?_enable_v4l:1}
BuildRequires: libv4l-devel
%endif
-%if %{with_xcb}
+%if 0%{?_with_xcb:1}
BuildRequires: libxcb-devel
%endif # xcb
# Video
@@ -380,7 +379,7 @@ rm -rf $RPM_BUILD_ROOT
%if %{have_vidix}
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_vidix.so
%endif # vidix
-%if %{with_xcb}
+%if 0%{?_with_xcb:1}
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xcbshm.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xcbxv.so
%endif # xcb
commit a56e4a2f3c0b7b933bbd49cfc2fdc30bf150d68d
Author: Ville Skyttä <scop(a)fedoraproject.org>
Date: Mon May 31 21:55:59 2010 +0000
* Tue Jun 1 2010 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.18.1-2
- Rebuild.
diff --git a/xine-lib.spec b/xine-lib.spec
index 2df59cf..c7b6ef8 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -35,7 +35,7 @@
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.18.1
-Release: 1%{?dist}
+Release: 2%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://www.xine-project.org/
@@ -439,6 +439,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Tue Jun 1 2010 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.18.1-2
+- Rebuild.
+
* Sun Mar 07 2010 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.18.1-1
- xine-lib-1.1.18.1
@@ -541,10 +544,10 @@ rm -rf $RPM_BUILD_ROOT
* Thu Apr 24 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.12-2
- CVE-2008-1878
-* Wed Apr 16 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.12-1
+* Wed Apr 16 2008 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.12-1
- 1.1.12 (plugin ABI 1.21); qt, mkv, and pulseaudio patches applied upstream.
-* Wed Apr 9 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.11.1-3
+* Wed Apr 9 2008 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.11.1-3
- Apply upstream fixes for Quicktime (#441705) and Matroska regressions
introduced in 1.1.11.1.
@@ -552,12 +555,12 @@ rm -rf $RPM_BUILD_ROOT
- pulse-rework2 patch (#439731)
- -pulseaudio subpkg (#439731)
-* Sun Mar 30 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.11.1-1
+* Sun Mar 30 2008 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.11.1-1
- 1.1.11.1 (security update, #438663, CVE-2008-1482).
- Provide versioned xine-lib(plugin-abi) so 3rd party packages installing
plugins can use it instead of requiring a version of xine-lib.
-* Wed Mar 19 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.11-1
+* Wed Mar 19 2008 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.11-1
- 1.1.11 (security update, #438182, CVE-2008-0073).
- Drop jack and wavpack build conditionals.
- Specfile cleanups.
@@ -565,37 +568,37 @@ rm -rf $RPM_BUILD_ROOT
* Fri Mar 7 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.10.1-1.1
- xcb support for f7+ (#373411)
-* Fri Feb 8 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.10.1-1
+* Fri Feb 8 2008 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.10.1-1
- 1.1.10.1 (security update, #431541).
-* Sun Jan 27 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.10-2
+* Sun Jan 27 2008 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.10-2
- Include spu, spucc, and spucmml decoders (#213597).
-* Sun Jan 27 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.10-1
+* Sun Jan 27 2008 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.10-1
- 1.1.10 (security update).
-* Mon Jan 21 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.9.1-3
+* Mon Jan 21 2008 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.9.1-3
- Fix version number in libxine.pc (#429487).
-* Sun Jan 20 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.9.1-2
+* Sun Jan 20 2008 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.9.1-2
- Disable upstream "discard buffers on ao close" 1.1.9 changeset (#429182).
-* Sat Jan 12 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.9.1-1
+* Sat Jan 12 2008 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.9.1-1
- 1.1.9.1 (security update).
-* Sun Jan 6 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.9-1
+* Sun Jan 6 2008 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.9-1
- 1.1.9.
-* Thu Sep 27 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.8-6
+* Thu Sep 27 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.8-6
- Enable wavpack support by default for all distros.
-* Sun Sep 23 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.8-5
+* Sun Sep 23 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.8-5
- Enable JACK support by default for all distros.
-* Wed Sep 19 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.8-4
+* Wed Sep 19 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.8-4
- Fix "--without wavpack" build.
-* Sat Sep 15 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.8-3
+* Sat Sep 15 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.8-3
- Move XCB plugins to the main package.
- Make aalib, caca, pulseaudio, jack, and wavpack support optional at build
time in preparation for the first EPEL build.
@@ -604,63 +607,63 @@ rm -rf $RPM_BUILD_ROOT
- remove the dependency from -extras to -arts, and use Obsoletes to
provide an upgrade path
-* Thu Aug 30 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.8-1
+* Thu Aug 30 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.8-1
- 1.1.8, "open" patch applied upstream.
- Build XCB plugins by default for Fedora 8+ only.
* Sat Aug 25 2007 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.7-3
- Split the aRts plugin into its own subpackage
-* Tue Aug 14 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.7-2
+* Tue Aug 14 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.7-2
- Include XCB output plugins (in -extras at least for now).
- Protect "open" with glibc 2.6.90 and -D_FORTIFY_SOURCE=2.
- Clean up %%configure options.
- License: GPLv2+
-* Thu Jun 7 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.7-1
+* Thu Jun 7 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.7-1
- 1.1.7.
* Wed Jun 06 2007 Rex Dieter <rdieter[AT]fedoraproject.org> - 1.1.6-3
- respin (for libmpcdec)
-* Wed Apr 25 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.6-2
+* Wed Apr 25 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.6-2
- Make Real codec search path /usr/lib(64)/codecs again (#237743).
-* Wed Apr 18 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.6-1
+* Wed Apr 18 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.6-1
- 1.1.6.
-* Wed Apr 11 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.5-1
+* Wed Apr 11 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.5-1
- 1.1.5.
- Include GSM 06.10 decoder (#228186).
- Re-enable CACA support.
-* Sun Apr 8 2007 Ville Skyttä <ville.skytta at iki.fi>
+* Sun Apr 8 2007 Ville Skyttä <ville.skytta(a)iki.fi>
- Exclude vidix dir on systems that don't have vidix.
- Specfile cleanups.
-* Mon Mar 26 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.4-4
+* Mon Mar 26 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.4-4
- Add PulseAudio support (in -extras, #234035/Jost Diederichs).
- Adjust Samba build dependencies to work for both <= and > FC6.
- Add --with freetype and --with antialiasing build time options,
default disabled, and an upstream patch for FreeType memory leak (#233194).
-* Sat Mar 10 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.4-3
+* Sat Mar 10 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.4-3
- Apply upstream fix for CVE-2007-1246.
-* Wed Feb 14 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.4-2
+* Wed Feb 14 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.4-2
- Rebuild.
-* Wed Jan 31 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.4-1
+* Wed Jan 31 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.4-1
- 1.1.4, with wavpack and system libmpcdec support.
* Thu Jan 18 2007 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.3-4
- rebuild
-* Wed Jan 3 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.3-3
+* Wed Jan 3 2007 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.3-3
- Fix libflac decoder with FLAC < 1.1.3 (#220961).
- Apply upstream patch for FLAC >= 1.1.3.
-* Sun Dec 17 2006 Ville Skyttä <ville.skytta at iki.fi> - 1.1.3-2
+* Sun Dec 17 2006 Ville Skyttä <ville.skytta(a)iki.fi> - 1.1.3-2
- Don't run autotools during build.
* Mon Dec 04 2006 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.3-1
commit 3adfd1633f2de5fcf86d415dc2ba2e6f81bb9bf6
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Wed Apr 14 18:13:31 2010 +0000
-extras: don't mention gnome-vfs if it's not included
diff --git a/xine-lib.spec b/xine-lib.spec
index 17f16b7..2df59cf 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -168,7 +168,9 @@ This package contains extra plugins for %{name}:
- EsounD
- JACK
- GDK-Pixbuf
+%if ! 0%{?_disable_gnomevfs:1}
- GNOME VFS
+%endif
- SMB
- SDL
%if %{with_aalib}
commit dee332a2dadaad166460acbf471356c17efbeb3e
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Mon Mar 8 14:53:03 2010 +0000
fix patch reference
diff --git a/xine-lib.spec b/xine-lib.spec
index c0b33dd..17f16b7 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -51,7 +51,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Patch1: xine-lib-1.1.4-optflags.patch
# used to help
-Patch2: xine-lib-1.1.18-no_autopoint.patch
+Patch2: xine-lib-%{version}-no_autopoint.patch
Patch6: xine-lib-1.1.1-deepbind-939.patch
# http://bugzilla.redhat.com/470568
Patch8: xine-lib-1.1.17-avsync_hack.patch
commit 68efe077519ac783c5be3b2a74382d336008b4a6
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Sun Mar 7 23:49:54 2010 +0000
* Sun Mar 07 2010 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.18.1-1
- xine-lib-1.1.18.1
diff --git a/.cvsignore b/.cvsignore
index 07a7912..9d21c9b 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -1,2 +1,2 @@
-xine-lib-1.1.18-pruned.tar.bz2
-xine-lib-1.1.18-autotools.patch.bz2
+xine-lib-1.1.18.1-autotools.patch.bz2
+xine-lib-1.1.18.1-pruned.tar.bz2
diff --git a/sources b/sources
index 53206ac..cf9ff04 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-8e93ff9da4839042680c8118f1c4cd3f xine-lib-1.1.18-pruned.tar.bz2
-2b8c6d3188a180fa763a44bb2ca9fe4c xine-lib-1.1.18-autotools.patch.bz2
+e2c45d451fd9d8ad3be680237ff5bcdf xine-lib-1.1.18.1-autotools.patch.bz2
+55de212f416d9d366cad7520ccd7a539 xine-lib-1.1.18.1-pruned.tar.bz2
diff --git a/xine-lib-1.1.18-no_autopoint.patch b/xine-lib-1.1.18.1-no_autopoint.patch
similarity index 100%
rename from xine-lib-1.1.18-no_autopoint.patch
rename to xine-lib-1.1.18.1-no_autopoint.patch
diff --git a/xine-lib.spec b/xine-lib.spec
index c9df1d9..c0b33dd 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -34,8 +34,8 @@
Summary: A multimedia engine
Name: xine-lib
-Version: 1.1.18
-Release: 2%{?dist}
+Version: 1.1.18.1
+Release: 1%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://www.xine-project.org/
@@ -437,6 +437,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Sun Mar 07 2010 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.18.1-1
+- xine-lib-1.1.18.1
+
* Sun Mar 07 2010 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.18-2
- rebuild (ImageMagick)
commit 277a2b42301e06fb936a8b26c9bf1793f399378f
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Sun Mar 7 15:05:51 2010 +0000
* Sun Mar 07 2010 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.18-2
- rebuild (ImageMagick)
diff --git a/xine-lib.spec b/xine-lib.spec
index 895b2d3..c9df1d9 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -35,7 +35,7 @@
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.18
-Release: 1%{?dist}
+Release: 2%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://www.xine-project.org/
@@ -437,6 +437,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Sun Mar 07 2010 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.18-2
+- rebuild (ImageMagick)
+
* Wed Feb 24 2010 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.18-1
- xine-lib-1.1.18, plugin-abi 1.28 (#567913)
commit 3cc315a82c6c6cf83ae38cc8dcf352bd5cbb5a8e
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Wed Feb 24 15:07:47 2010 +0000
* Wed Feb 24 2010 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.18-1
- xine-lib-1.1.18, plugin-abi 1.28 (#567913)
diff --git a/.cvsignore b/.cvsignore
index 8f16768..07a7912 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -1,2 +1,2 @@
-xine-lib-1.1.17-pruned.tar.bz2
-xine-lib-1.1.17-autotools.patch.bz2
+xine-lib-1.1.18-pruned.tar.bz2
+xine-lib-1.1.18-autotools.patch.bz2
diff --git a/sources b/sources
index b24e568..53206ac 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-4c2655e0c12520b1e6e78a72d59a62ce xine-lib-1.1.17-pruned.tar.bz2
-f4282ee36447d94765d89d06787012be xine-lib-1.1.17-autotools.patch.bz2
+8e93ff9da4839042680c8118f1c4cd3f xine-lib-1.1.18-pruned.tar.bz2
+2b8c6d3188a180fa763a44bb2ca9fe4c xine-lib-1.1.18-autotools.patch.bz2
diff --git a/xine-lib-1.1.17-flac_priority.patch b/xine-lib-1.1.17-flac_priority.patch
deleted file mode 100644
index 68aae11..0000000
--- a/xine-lib-1.1.17-flac_priority.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up xine-lib-1.1.17/src/combined/decoder_flac.c.flac_priority xine-lib-1.1.17/src/combined/decoder_flac.c
---- xine-lib-1.1.17/src/combined/decoder_flac.c.flac_priority 2009-11-30 14:55:46.000000000 -0600
-+++ xine-lib-1.1.17/src/combined/decoder_flac.c 2009-12-12 21:34:19.095500951 -0600
-@@ -426,7 +426,7 @@ static uint32_t audio_types[] = {
-
- static const decoder_info_t dec_info_audio = {
- audio_types, /* supported types */
-- 5 /* priority */
-+ 8 /* priority */
- };
-
- const plugin_info_t xine_plugin_info[] EXPORTED = {
diff --git a/xine-lib-1.1.17-no_autopoint.patch b/xine-lib-1.1.18-no_autopoint.patch
similarity index 100%
rename from xine-lib-1.1.17-no_autopoint.patch
rename to xine-lib-1.1.18-no_autopoint.patch
diff --git a/xine-lib.spec b/xine-lib.spec
index 5ed9d31..895b2d3 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -3,7 +3,7 @@
# - drop the opengl video out plugin?
# - deprecate ESD support?
-%define plugin_abi 1.27
+%define plugin_abi 1.28
%define codecdir %{_libdir}/codecs
%ifarch %{ix86}
@@ -13,13 +13,15 @@
%endif # ix86
%if 0%{?fedora}
- %define with_aalib %{?_without_aalib:0}%{!?_without_aalib:1}
- %define with_pa %{?_without_pulseaudio:0}%{!?_without_pulseaudio:1}
- %define with_xcb %{?_without_xcb:0}%{!?_without_xcb:1}
+%define _enable_v4l --enable-v4l --enable-libv4l
+%define _disable_gnomevfs --disable-gnomevfs
+%define with_aalib %{?_without_aalib:0}%{!?_without_aalib:1}
+%define with_pa %{?_without_pulseaudio:0}%{!?_without_pulseaudio:1}
+%define with_xcb %{?_without_xcb:0}%{!?_without_xcb:1}
%else
- %define with_aalib %{?_with_aalib:1}%{!?_with_aalib:0}
- %define with_pa %{?_with_pulseaudio:1}%{!?_with_pulseaudio:0}
- %define with_xcb %{?_with_xcb:1}%{!?_with_xcb:0}
+%define with_aalib %{?_with_aalib:1}%{!?_with_aalib:0}
+%define with_pa %{?_with_pulseaudio:1}%{!?_with_pulseaudio:0}
+%define with_xcb %{?_with_xcb:1}%{!?_with_xcb:0}
%endif # Fedora
%if 0%{?fedora} > 8 || 0%{?rhel} > 5
@@ -32,8 +34,8 @@
Summary: A multimedia engine
Name: xine-lib
-Version: 1.1.17
-Release: 3%{?dist}
+Version: 1.1.18
+Release: 1%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://www.xine-project.org/
@@ -49,16 +51,13 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Patch1: xine-lib-1.1.4-optflags.patch
# used to help
-Patch2: xine-lib-1.1.17-no_autopoint.patch
+Patch2: xine-lib-1.1.18-no_autopoint.patch
Patch6: xine-lib-1.1.1-deepbind-939.patch
# http://bugzilla.redhat.com/470568
Patch8: xine-lib-1.1.17-avsync_hack.patch
# http://bugzilla.redhat.com/477226
Patch9: xine-lib-1.1.16.2-multilib.patch
## upstreamable patches
-# https://bugzilla.redhat.com/show_bug.cgi?id=301861
-# http://bugs.xine-project.org/show_bug.cgi?id=225
-Patch50: xine-lib-1.1.17-flac_priority.patch
## upstream patches
Provides: xine-lib(plugin-abi) = %{plugin_abi}
@@ -71,6 +70,9 @@ BuildRequires: libXv-devel
BuildRequires: libXinerama-devel
BuildRequires: libXvMC-devel
BuildRequires: libGLU-devel
+%if 0%{?_enable_v4l:1}
+BuildRequires: libv4l-devel
+%endif
%if %{with_xcb}
BuildRequires: libxcb-devel
%endif # xcb
@@ -193,7 +195,6 @@ touch -r m4/optimizations.m4.stamp m4/optimizations.m4
#patch6 -p1 -b .deepbind
%patch8 -p1 -b .avsync_hack
%patch9 -p1 -b .multilib
-%patch50 -p1 -b .flac_priority
# autotools patch + touch'ing above seems to miss something, aclocal
# runs on make anyway, let's use the ./autogen.sh hammer for now.
@@ -215,6 +216,8 @@ export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)"
%if 0%{!?_without_directfb:1}
--enable-directfb \
%endif # directfb
+ %{?_enable_v4l}%{!?_enable_v4l:--disable-v4l --disable-libv4l} \
+ %{?_disable_gnomevfs} \
--disable-a52dec \
--disable-mad \
--disable-vcd \
@@ -366,6 +369,7 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_rtsp.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_stdin_fifo.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_v4l.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_v4l2.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_fb.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_none.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_opengl.so
@@ -433,6 +437,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Wed Feb 24 2010 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.18-1
+- xine-lib-1.1.18, plugin-abi 1.28 (#567913)
+
* Sat Dec 12 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.17-3
- bump flac_decoder priority (rh#301861,xine#225)
commit 549b84b42382bb3ec56db5a8d8eccebb6b4f7dd0
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Mon Dec 14 16:09:13 2009 +0000
Release++
diff --git a/xine-lib.spec b/xine-lib.spec
index a5fa05c..5ed9d31 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -33,7 +33,7 @@
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.17
-Release: 2%{?dist}
+Release: 3%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://www.xine-project.org/
commit 89bd664627d9e93a165b42dc22ebd6fe0bdd775e
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Mon Dec 14 16:06:33 2009 +0000
* Sat Dec 12 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.17-3
- bump flac_decoder priority (rh#301861,xine#225)
diff --git a/xine-lib-1.1.17-flac_priority.patch b/xine-lib-1.1.17-flac_priority.patch
new file mode 100644
index 0000000..68aae11
--- /dev/null
+++ b/xine-lib-1.1.17-flac_priority.patch
@@ -0,0 +1,12 @@
+diff -up xine-lib-1.1.17/src/combined/decoder_flac.c.flac_priority xine-lib-1.1.17/src/combined/decoder_flac.c
+--- xine-lib-1.1.17/src/combined/decoder_flac.c.flac_priority 2009-11-30 14:55:46.000000000 -0600
++++ xine-lib-1.1.17/src/combined/decoder_flac.c 2009-12-12 21:34:19.095500951 -0600
+@@ -426,7 +426,7 @@ static uint32_t audio_types[] = {
+
+ static const decoder_info_t dec_info_audio = {
+ audio_types, /* supported types */
+- 5 /* priority */
++ 8 /* priority */
+ };
+
+ const plugin_info_t xine_plugin_info[] EXPORTED = {
diff --git a/xine-lib.spec b/xine-lib.spec
index d0c27db..a5fa05c 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -56,6 +56,9 @@ Patch8: xine-lib-1.1.17-avsync_hack.patch
# http://bugzilla.redhat.com/477226
Patch9: xine-lib-1.1.16.2-multilib.patch
## upstreamable patches
+# https://bugzilla.redhat.com/show_bug.cgi?id=301861
+# http://bugs.xine-project.org/show_bug.cgi?id=225
+Patch50: xine-lib-1.1.17-flac_priority.patch
## upstream patches
Provides: xine-lib(plugin-abi) = %{plugin_abi}
@@ -190,6 +193,7 @@ touch -r m4/optimizations.m4.stamp m4/optimizations.m4
#patch6 -p1 -b .deepbind
%patch8 -p1 -b .avsync_hack
%patch9 -p1 -b .multilib
+%patch50 -p1 -b .flac_priority
# autotools patch + touch'ing above seems to miss something, aclocal
# runs on make anyway, let's use the ./autogen.sh hammer for now.
@@ -429,6 +433,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Sat Dec 12 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.17-3
+- bump flac_decoder priority (rh#301861,xine#225)
+
* Mon Dec 07 2009 Bastien Nocera <bnocera(a)redhat.com> 1.1.17-2
- Remove gnome-vfs2 plugin, it's mostly useless
commit 96fbf1ada3d23397713cce63db4587a511f11006
Author: Bastien Nocera <hadess(a)fedoraproject.org>
Date: Mon Dec 7 13:55:57 2009 +0000
* Mon Dec 07 2009 Bastien Nocera <bnocera(a)redhat.com> 1.1.17-2
- Remove gnome-vfs2 plugin, it's mostly useless
diff --git a/xine-lib.spec b/xine-lib.spec
index 5553318..d0c27db 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -33,7 +33,7 @@
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.17
-Release: 1%{?dist}
+Release: 2%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://www.xine-project.org/
@@ -110,7 +110,6 @@ BuildRequires: wavpack-devel
BuildRequires: libcdio-devel
# Other
BuildRequires: pkgconfig
-BuildRequires: gnome-vfs2-devel
BuildRequires: gtk2-devel
%if 0%{?fedora} > 6 || 0%{?rhel} > 5
BuildRequires: libsmbclient-devel
@@ -404,7 +403,6 @@ rm -rf $RPM_BUILD_ROOT
%if 0%{!?_without_imagemagick:1}
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_image.so
%endif # imagemagick
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_gnome_vfs.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_smb.so
%if %{with_aalib}
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_aa.so
@@ -431,6 +429,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Mon Dec 07 2009 Bastien Nocera <bnocera(a)redhat.com> 1.1.17-2
+- Remove gnome-vfs2 plugin, it's mostly useless
+
* Wed Dec 02 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.17-1
- xine-lib-1.1.17, plugin-abi 1.27
commit d4183433d2a3be052c4ca72530b9cfc4037c485f
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Thu Dec 3 15:38:44 2009 +0000
awol/rebased patches
diff --git a/xine-lib-1.1.17-avsync_hack.patch b/xine-lib-1.1.17-avsync_hack.patch
new file mode 100644
index 0000000..5fa1ae1
--- /dev/null
+++ b/xine-lib-1.1.17-avsync_hack.patch
@@ -0,0 +1,22 @@
+diff -up xine-lib-1.1.17/src/xine-engine/audio_out.c.avsync_hack xine-lib-1.1.17/src/xine-engine/audio_out.c
+--- xine-lib-1.1.17/src/xine-engine/audio_out.c.avsync_hack 2009-11-30 19:33:30.000000000 -0600
++++ xine-lib-1.1.17/src/xine-engine/audio_out.c 2009-12-02 09:07:37.622805780 -0600
+@@ -1156,8 +1156,17 @@ static void *ao_loop (void *this_gen) {
+
+ /*
+ * calculate gap:
++ *
++ * HACK (rwa): If we have no video stream we do not need an AV sync and so
++ * we assume a gap of 0. This seems to avoid the skips in the
++ * first seconds when playing audio-only via the "glitch-free"
++ * pulseaudio server.
+ */
+- gap = in_buf->vpts - hw_vpts;
++ if (in_buf && in_buf->stream && in_buf->stream->video_decoder_plugin) {
++ gap = in_buf->vpts - hw_vpts;
++ } else {
++ gap = 0;
++ }
+ lprintf ("hw_vpts : %" PRId64 " buffer_vpts : %" PRId64 " gap : %" PRId64 "\n",
+ hw_vpts, in_buf->vpts, gap);
+
diff --git a/xine-lib-1.1.17-no_autopoint.patch b/xine-lib-1.1.17-no_autopoint.patch
new file mode 100644
index 0000000..d5ee0cd
--- /dev/null
+++ b/xine-lib-1.1.17-no_autopoint.patch
@@ -0,0 +1,17 @@
+diff -up xine-lib-1.1.17/autogen.sh.no_autopoint xine-lib-1.1.17/autogen.sh
+--- xine-lib-1.1.17/autogen.sh.no_autopoint 2009-10-09 09:33:31.000000000 -0500
++++ xine-lib-1.1.17/autogen.sh 2009-12-02 09:15:48.534555467 -0600
+@@ -229,10 +229,10 @@ run_aclocal () {
+ echo
+ fi
+
+- echo $_echo_n " + Running autopoint: $_echo_c"
++ #echo $_echo_n " + Running autopoint: $_echo_c"
+
+- autopoint
+- echo "done."
++ #autopoint
++ #echo "done."
+
+ echo $_echo_n " + Running aclocal: $_echo_c"
+
commit 5c46b58bf28d8f5b2f4440d128e920312e23b58c
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Wed Dec 2 18:27:27 2009 +0000
* Wed Dec 02 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.17-1
- xine-lib-1.1.17, plugin-abi 1.27
diff --git a/.cvsignore b/.cvsignore
index dbdfc40..8f16768 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -1,2 +1,2 @@
-xine-lib-1.1.16.3-autotools.patch.bz2
-xine-lib-1.1.16.3-pruned.tar.bz2
+xine-lib-1.1.17-pruned.tar.bz2
+xine-lib-1.1.17-autotools.patch.bz2
diff --git a/sources b/sources
index 3cc02d3..b24e568 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-e50122a9323107564d58056b35256610 xine-lib-1.1.16.3-autotools.patch.bz2
-0cac86b7d74c1dcaa22f5a8cbc5ef578 xine-lib-1.1.16.3-pruned.tar.bz2
+4c2655e0c12520b1e6e78a72d59a62ce xine-lib-1.1.17-pruned.tar.bz2
+f4282ee36447d94765d89d06787012be xine-lib-1.1.17-autotools.patch.bz2
diff --git a/xine-lib-1.1.15-avsync_hack.patch b/xine-lib-1.1.15-avsync_hack.patch
deleted file mode 100644
index f33aba4..0000000
--- a/xine-lib-1.1.15-avsync_hack.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff -uNr xine-lib-1.1.15.orig/src/xine-engine/audio_out.c xine-lib-1.1.15/src/xine-engine/audio_out.c
---- xine-lib-1.1.15.orig/src/xine-engine/audio_out.c 2008-07-10 18:19:10.000000000 +0200
-+++ xine-lib-1.1.15/src/xine-engine/audio_out.c 2009-01-10 21:57:20.000000000 +0100
-@@ -1151,8 +1151,17 @@
-
- /*
- * calculate gap:
-+ *
-+ * HACK (rwa): If we have no video stream we do not need an AV sync and so
-+ * we assume a gap of 0. This seems to avoid the skips in the
-+ * first seconds when playing audio-only via the "glitch-free"
-+ * pulseaudio server.
- */
-- gap = in_buf->vpts - hw_vpts;
-+ if (in_buf && in_buf->stream && in_buf->stream->video_decoder_plugin) {
-+ gap = in_buf->vpts - hw_vpts;
-+ } else {
-+ gap = 0;
-+ }
- lprintf ("hw_vpts : %" PRId64 " buffer_vpts : %" PRId64 " gap : %" PRId64 "\n",
- hw_vpts, in_buf->vpts, gap);
-
diff --git a/xine-lib-1.1.16.3-mod_mimetypes_typo.patch b/xine-lib-1.1.16.3-mod_mimetypes_typo.patch
deleted file mode 100644
index b10fabb..0000000
--- a/xine-lib-1.1.16.3-mod_mimetypes_typo.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff -up xine-lib-1.1.16.3/src/demuxers/demux_mod.c.mod_mimetypes_typo xine-lib-1.1.16.3/src/demuxers/demux_mod.c
---- xine-lib-1.1.16.3/src/demuxers/demux_mod.c.mod_mimetypes_typo 2009-03-25 14:28:40.000000000 -0500
-+++ xine-lib-1.1.16.3/src/demuxers/demux_mod.c 2009-04-10 10:15:04.000000000 -0500
-@@ -387,11 +387,11 @@ static const char *get_mimetypes (demux_
- "audio/x-s3m: s3m: ScreamTracker 3 Module;"
- "audio/s3m: s3m: ScreamTracker 3 Module;"
- "application/playerpro: 669: 669 Tracker Module;"
-- "application/adrift; amf: ADRIFT Module File;"
-- "audio/med; med; Amiga MED/OctaMED Tracker Module Sound File;"
-- "audio/x-amf; amf: ADRIFT Module File;"
-- "audio/x-xm; xm: FastTracker II Audio;"
-- "audio/xm; xm: FastTracker II Audio;";
-+ "application/adrift: amf: ADRIFT Module File;"
-+ "audio/med: med: Amiga MED/OctaMED Tracker Module Sound File;"
-+ "audio/x-amf: amf: ADRIFT Module File;"
-+ "audio/x-xm: xm: FastTracker II Audio;"
-+ "audio/xm: xm: FastTracker II Audio;";
- }
-
- static void class_dispose (demux_class_t *this_gen) {
diff --git a/xine-lib-mk-autotools-patch.sh b/xine-lib-mk-autotools-patch.sh
index dc1e103..3cb6d1a 100644
--- a/xine-lib-mk-autotools-patch.sh
+++ b/xine-lib-mk-autotools-patch.sh
@@ -23,6 +23,7 @@ tar jxf xine-lib-$version-pruned.tar.bz2
cp -a xine-lib-$version xine-lib-$version-pruned
pushd xine-lib-$version
+patch -p1 < ../xine-lib-${version}-no_autopoint.patch
# extra work for to omit old libtool-related crud
rm -f configure ltmain.sh libtool m4/libtool.m4 m4/ltoptions.m4 m4/ltversion.m4
./autogen.sh noconfig
diff --git a/xine-lib.spec b/xine-lib.spec
index f31b4c4..5553318 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -1,10 +1,9 @@
# TODO, sometime, maybe:
# - libstk: http://www.libstk.net/ - probably not, see 1.1.5 ChangeLog
# - drop the opengl video out plugin?
-# http://www.redhat.com/archives/fedora-legal-list/2007-August/msg00011.html
# - deprecate ESD support?
-%define plugin_abi 1.26
+%define plugin_abi 1.27
%define codecdir %{_libdir}/codecs
%ifarch %{ix86}
@@ -33,35 +32,36 @@
Summary: A multimedia engine
Name: xine-lib
-Version: 1.1.16.3
-Release: 5%{?dist}
+Version: 1.1.17
+Release: 1%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://www.xine-project.org/
# The tarball is generated from the upstream tarball using
# the script in SOURCE1. It prunes potentially patented code
#Source0: http://downloads.sourceforge.net/xine/xine-lib-%{version}.tar.bz2
-Source0: %{name}-%{version}-pruned.tar.bz2
-Source1: %{name}-cleanup-sources.sh
-Source2: %{name}-mk-autotools-patch.sh
+Source0: xine-lib-%{version}-pruned.tar.bz2
+Source1: xine-lib-cleanup-sources.sh
+Source2: xine-lib-mk-autotools-patch.sh
# autotools patch created with source2
-Patch0: %{name}-%{version}-autotools.patch.bz2
+Patch0: xine-lib-%{version}-autotools.patch.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-Patch1: %{name}-1.1.4-optflags.patch
-Patch6: %{name}-1.1.1-deepbind-939.patch
+Patch1: xine-lib-1.1.4-optflags.patch
+# used to help
+Patch2: xine-lib-1.1.17-no_autopoint.patch
+Patch6: xine-lib-1.1.1-deepbind-939.patch
# http://bugzilla.redhat.com/470568
-Patch8: xine-lib-1.1.15-avsync_hack.patch
+Patch8: xine-lib-1.1.17-avsync_hack.patch
# http://bugzilla.redhat.com/477226
Patch9: xine-lib-1.1.16.2-multilib.patch
## upstreamable patches
-Patch50: xine-lib-1.1.16.3-mod_mimetypes_typo.patch
## upstream patches
-Provides: xine-lib(plugin-abi) = %{plugin_abi}
-%if "%{?_isa}" != "%{nil}"
-Provides: xine-lib(plugin-abi)%{?_isa} = %{plugin_abi}
-%endif
+Provides: xine-lib(plugin-abi) = %{plugin_abi}
+%{?_isa:Provides: xine-lib(plugin-abi)%{?_isa} = %{plugin_abi}}
+
+BuildRequires: automake libtool
# X11
BuildRequires: libX11-devel
BuildRequires: libXv-devel
@@ -133,39 +133,32 @@ common multimedia formats available - and some uncommon formats, too.
%package devel
Summary: Xine library development files
Group: Development/Libraries
-Requires: %{name} = %{version}-%{release}
+Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: pkgconfig
Requires: zlib-devel
-
%description devel
This package contains development files for %{name}.
%package arts
Summary: aRts plugin for %{name}
Group: System Environment/Libraries
-Requires: %{name} = %{version}-%{release}
+Requires: %{name}%{?_isa} = %{version}-%{release}
#Requires: xine-lib(plugin-abi) = %{plugin_abi}
-# -arts was split off the -extras subpackage at 1.1.7-3
-Obsoletes: xine-lib-extras < 1.1.7-3
-
%description arts
This package contains the aRts plugin for %{name}.
%package pulseaudio
Summary: Pulseaudio plugin for %{name}
Group: System Environment/Libraries
-Requires: %{name} = %{version}-%{release}
-
+Requires: %{name}%{?_isa} = %{version}-%{release}
%description pulseaudio
This package contains the pulseaudio plugin for %{name}.
-
%package extras
Summary: Additional plugins for %{name}
Group: System Environment/Libraries
-Requires: %{name} = %{version}-%{release}
+Requires: %{name}%{?_isa} = %{version}-%{release}
#Requires: xine-lib(plugin-abi) = %{plugin_abi}
-
%description extras
This package contains extra plugins for %{name}:
- EsounD
@@ -196,12 +189,14 @@ touch -r m4/optimizations.m4.stamp m4/optimizations.m4
# needed at least when compiling with external ffmpeg and internal faad livna bug#939.
# see also http://bugzilla.redhat.com/480504 for side-effects
#patch6 -p1 -b .deepbind
-
%patch8 -p1 -b .avsync_hack
%patch9 -p1 -b .multilib
-%patch50 -p1 -b .mod_mimetypes_typo
-# Avoid standard rpaths on lib64 archs: (autotools patch should handle this, no? -- Rex )
+# autotools patch + touch'ing above seems to miss something, aclocal
+# runs on make anyway, let's use the ./autogen.sh hammer for now.
+./autogen.sh noconfig
+
+#Avoid standard rpaths on lib64 archs: (autotools patch handles this too)
#sed -i -e 's|"/lib /usr/lib\b|"/%{_lib} %{_libdir}|' configure
@@ -314,7 +309,7 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_gsm610.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_lpcm.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_mpc.so
-%ifarch %ix86
+%ifarch %{ix86}
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_qt.so
%endif # ix86
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_real.so
@@ -324,6 +319,7 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spucc.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spucmml.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spudvb.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spuhdmv.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_sputext.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_theora.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_vorbis.so
@@ -435,6 +431,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Wed Dec 02 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.17-1
+- xine-lib-1.1.17, plugin-abi 1.27
+
* Sun Nov 29 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.3-5
- move -pulseaudio into main pkg (f12+)
- update URL
commit 13a297343ea85c6b0605e88dd78517b655fc5b4d
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Mon Nov 30 02:08:09 2009 +0000
* Sun Nov 29 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.3-5
- move -pulseaudio into main pkg (f12+)
- update URL
diff --git a/xine-lib.spec b/xine-lib.spec
index 32b7bdf..f31b4c4 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -23,17 +23,21 @@
%define with_xcb %{?_with_xcb:1}%{!?_with_xcb:0}
%endif # Fedora
-%if 0%{?fedora} > 8
+%if 0%{?fedora} > 8 || 0%{?rhel} > 5
%define _without_arts --without-arts
%endif
+%if 0%{?fedora} > 11
+%define pa_in_main 1
+%endif
+
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.16.3
-Release: 4%{?dist}
+Release: 5%{?dist}
License: GPLv2+
Group: System Environment/Libraries
-URL: http://xinehq.de/
+URL: http://www.xine-project.org/
# The tarball is generated from the upstream tarball using
# the script in SOURCE1. It prunes potentially patented code
#Source0: http://downloads.sourceforge.net/xine/xine-lib-%{version}.tar.bz2
@@ -115,6 +119,11 @@ BuildRequires: samba-common
%endif
BuildRequires: libdvdnav-devel
+%if 0%{?pa_in_main}
+Obsoletes: xine-lib-pulseaudio < 1.1.16.3-5
+Provides: xine-lib-pulseaudio = %{version}-%{release}
+%endif
+
%description
This package contains the Xine library. It can be used to play back
various media, decode multimedia files from local disk drives, and display
@@ -146,8 +155,6 @@ This package contains the aRts plugin for %{name}.
Summary: Pulseaudio plugin for %{name}
Group: System Environment/Libraries
Requires: %{name} = %{version}-%{release}
-# -pulseaudio was split off -extras at 1.1.11.1-2
-#Obsoletes: xine-lib-extras < 1.1.11.1-2
%description pulseaudio
This package contains the pulseaudio plugin for %{name}.
@@ -378,18 +385,21 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xxmc.so
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_wavpack.so
-%if 0%{!?_without_arts:1}
-%files arts
-%defattr(-,root,root,-)
-%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_arts.so
-%endif
-
%if %{with_pa}
+%if ! 0%{?pa_in_main}
%files pulseaudio
%defattr(-,root,root,-)
+%endif
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_pulseaudio.so
%endif
+
+%if 0%{!?_without_arts:1}
+%files arts
+%defattr(-,root,root,-)
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_arts.so
+%endif
+
%files extras
%defattr(-,root,root,-)
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_esd.so
@@ -425,6 +435,10 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Sun Nov 29 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.3-5
+- move -pulseaudio into main pkg (f12+)
+- update URL
+
* Mon Jul 27 2009 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1.1.16.3-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
commit 25c3a60902e8f309b1d4004529ef035de1b9ca89
Author: Bill Nottingham <notting(a)fedoraproject.org>
Date: Wed Nov 25 22:40:59 2009 +0000
Fix typo that causes a failure to update the common directory. (releng #2781)
diff --git a/Makefile b/Makefile
index a1c167d..3f11a94 100644
--- a/Makefile
+++ b/Makefile
@@ -4,7 +4,7 @@ NAME := xine-lib
SPECFILE = $(firstword $(wildcard *.spec))
define find-makefile-common
-for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
+for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
endef
MAKEFILE_COMMON := $(shell $(find-makefile-common))
commit 346d5f4cc822efc2396c423b8a6175cba7c804b5
Author: Jesse Keating <jkeating(a)fedoraproject.org>
Date: Mon Jul 27 08:05:29 2009 +0000
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
diff --git a/xine-lib.spec b/xine-lib.spec
index d198b4f..32b7bdf 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -30,7 +30,7 @@
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.16.3
-Release: 3%{?dist}
+Release: 4%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -425,6 +425,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Mon Jul 27 2009 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1.1.16.3-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
+
* Thu Jul 02 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.3-3
- rebuild (DirectFB)
commit 8961db9267bbdcf9a7b35ecd60f6d3da7de9c7b3
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Thu Jul 2 17:24:14 2009 +0000
* Thu Jul 02 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.3-3
- rebuild (DirectFB)
diff --git a/xine-lib.spec b/xine-lib.spec
index 5986bbc..d198b4f 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -30,7 +30,7 @@
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.16.3
-Release: 2%{?dist}.1
+Release: 3%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -425,6 +425,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Thu Jul 02 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.3-3
+- rebuild (DirectFB)
+
* Fri Apr 17 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.3-2.1
- drop old_caca hacks/patches (F-9)
commit 9440df6141ecab325a0fe69840ae7b585e6c6366
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Fri Apr 17 16:56:23 2009 +0000
sync from F-9/ branch
diff --git a/xine-lib-1.1.16-old-caca.patch b/xine-lib-1.1.16-old-caca.patch
deleted file mode 100644
index 5a149a9..0000000
--- a/xine-lib-1.1.16-old-caca.patch
+++ /dev/null
@@ -1,27 +0,0 @@
---- src/video_out/video_out_caca.c Tue Nov 18 21:13:55 2008 +0100
-+++ src/video_out/video_out_caca.c Mon Nov 10 16:33:51 2008 +0100
-@@ -276,7 +276,6 @@ static int caca_redraw_needed (vo_driver
-
- static vo_driver_t *open_plugin (video_driver_class_t *class_gen, const void *visual_gen) {
- caca_class_t *class = (caca_class_t *) class_gen;
-- caca_display_t *dp = (caca_display_t *)visual_gen;
- caca_driver_t *this;
-
- this = calloc(1, sizeof (caca_driver_t));
-@@ -301,13 +300,8 @@ static vo_driver_t *open_plugin (video_d
- this->yuv2rgb_factory = yuv2rgb_factory_init(MODE_32_RGB, 0, NULL);
- this->yuv2rgb_factory->set_csc_levels(this->yuv2rgb_factory, 0, 128, 128);
-
-- if (dp) {
-- this->cv = caca_get_canvas(dp);
-- this->dp = dp;
-- } else {
-- this->cv = cucul_create_canvas(0, 0);
-- this->dp = caca_create_display(this->cv);
-- }
-+ this->cv = cucul_create_canvas(0, 0);
-+ this->dp = caca_create_display(this->cv);
-
- caca_refresh_display(this->dp);
- return &this->vo_driver;
-
diff --git a/xine-lib.spec b/xine-lib.spec
index 253bd5f..5986bbc 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -13,10 +13,6 @@
%define have_vidix 0
%endif # ix86
-%if 0%{?fedora} <= 9
- %define old_caca 1
-%endif
-
%if 0%{?fedora}
%define with_aalib %{?_without_aalib:0}%{!?_without_aalib:1}
%define with_pa %{?_without_pulseaudio:0}%{!?_without_pulseaudio:1}
@@ -34,7 +30,7 @@
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.16.3
-Release: 2%{?dist}
+Release: 2%{?dist}.1
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -50,7 +46,6 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Patch1: %{name}-1.1.4-optflags.patch
Patch6: %{name}-1.1.1-deepbind-939.patch
-Patch7: %{name}-1.1.16-old-caca.patch
# http://bugzilla.redhat.com/470568
Patch8: xine-lib-1.1.15-avsync_hack.patch
# http://bugzilla.redhat.com/477226
@@ -79,11 +74,7 @@ BuildRequires: libmng-devel
%if %{with_aalib}
BuildRequires: aalib-devel >= 1.4
%endif # aalib
-%if 0%{?old_caca}
-BuildRequires: libcaca-devel >= 0.99
-%else
BuildRequires: libcaca-devel >= 0.99-0.5.beta14
-%endif
%if 0%{!?_without_directfb:1}
BuildRequires: directfb-devel
%endif # directfb
@@ -190,9 +181,6 @@ This package contains extra plugins for %{name}:
%prep
%setup -q
-%if 0%{?old_caca}
-sed -i -e 's/caca >= 0\.99beta14 cucul >= 0\.99beta14/caca cucul/g' configure.ac
-%endif
%patch0 -p1 -b .autotools
touch -r configure.ac aclocal.m4
touch -r m4/optimizations.m4 m4/optimizations.m4.stamp
@@ -202,11 +190,6 @@ touch -r m4/optimizations.m4.stamp m4/optimizations.m4
# see also http://bugzilla.redhat.com/480504 for side-effects
#patch6 -p1 -b .deepbind
-%if 0%{?old_caca}
-sed -i -e 's/caca >= 0\.99beta14 cucul >= 0\.99beta14/caca cucul/g' configure
-%patch7 -p0 -b .old-caca
-%endif
-
%patch8 -p1 -b .avsync_hack
%patch9 -p1 -b .multilib
%patch50 -p1 -b .mod_mimetypes_typo
@@ -442,6 +425,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Fri Apr 17 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.3-2.1
+- drop old_caca hacks/patches (F-9)
+
* Fri Apr 10 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.3-2
- fix modtracker mimetypes
commit efe8d228a75cb761fa1d5bb7d3f3a20b19f728ba
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Fri Apr 10 15:17:17 2009 +0000
* Fri Apr 10 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.3-2
- fix modtracker mimetypes
diff --git a/xine-lib-1.1.16.3-mod_mimetypes_typo.patch b/xine-lib-1.1.16.3-mod_mimetypes_typo.patch
new file mode 100644
index 0000000..b10fabb
--- /dev/null
+++ b/xine-lib-1.1.16.3-mod_mimetypes_typo.patch
@@ -0,0 +1,20 @@
+diff -up xine-lib-1.1.16.3/src/demuxers/demux_mod.c.mod_mimetypes_typo xine-lib-1.1.16.3/src/demuxers/demux_mod.c
+--- xine-lib-1.1.16.3/src/demuxers/demux_mod.c.mod_mimetypes_typo 2009-03-25 14:28:40.000000000 -0500
++++ xine-lib-1.1.16.3/src/demuxers/demux_mod.c 2009-04-10 10:15:04.000000000 -0500
+@@ -387,11 +387,11 @@ static const char *get_mimetypes (demux_
+ "audio/x-s3m: s3m: ScreamTracker 3 Module;"
+ "audio/s3m: s3m: ScreamTracker 3 Module;"
+ "application/playerpro: 669: 669 Tracker Module;"
+- "application/adrift; amf: ADRIFT Module File;"
+- "audio/med; med; Amiga MED/OctaMED Tracker Module Sound File;"
+- "audio/x-amf; amf: ADRIFT Module File;"
+- "audio/x-xm; xm: FastTracker II Audio;"
+- "audio/xm; xm: FastTracker II Audio;";
++ "application/adrift: amf: ADRIFT Module File;"
++ "audio/med: med: Amiga MED/OctaMED Tracker Module Sound File;"
++ "audio/x-amf: amf: ADRIFT Module File;"
++ "audio/x-xm: xm: FastTracker II Audio;"
++ "audio/xm: xm: FastTracker II Audio;";
+ }
+
+ static void class_dispose (demux_class_t *this_gen) {
diff --git a/xine-lib.spec b/xine-lib.spec
index 7893457..253bd5f 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -34,7 +34,7 @@
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.16.3
-Release: 1%{?dist}
+Release: 2%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -55,6 +55,8 @@ Patch7: %{name}-1.1.16-old-caca.patch
Patch8: xine-lib-1.1.15-avsync_hack.patch
# http://bugzilla.redhat.com/477226
Patch9: xine-lib-1.1.16.2-multilib.patch
+## upstreamable patches
+Patch50: xine-lib-1.1.16.3-mod_mimetypes_typo.patch
## upstream patches
Provides: xine-lib(plugin-abi) = %{plugin_abi}
@@ -207,6 +209,7 @@ sed -i -e 's/caca >= 0\.99beta14 cucul >= 0\.99beta14/caca cucul/g' configure
%patch8 -p1 -b .avsync_hack
%patch9 -p1 -b .multilib
+%patch50 -p1 -b .mod_mimetypes_typo
# Avoid standard rpaths on lib64 archs: (autotools patch should handle this, no? -- Rex )
#sed -i -e 's|"/lib /usr/lib\b|"/%{_lib} %{_libdir}|' configure
@@ -439,6 +442,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Fri Apr 10 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.3-2
+- fix modtracker mimetypes
+
* Fri Apr 03 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.3-1
- xine-lib-1.1.16.3, plugin-abi 1.26
commit 966bc61b769d07cdadd9022774dcbddc36eb4b71
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Fri Apr 3 17:07:18 2009 +0000
* Fri Apr 03 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.3-1
- xine-lib-1.1.16.3, plugin-abi 1.26
diff --git a/.cvsignore b/.cvsignore
index 8a0cd42..dbdfc40 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -1,2 +1,2 @@
-xine-lib-1.1.16.2-pruned.tar.bz2
-xine-lib-1.1.16.2-autotools.patch.bz2
+xine-lib-1.1.16.3-autotools.patch.bz2
+xine-lib-1.1.16.3-pruned.tar.bz2
diff --git a/sources b/sources
index 95d5764..3cc02d3 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-e2c3a178be02f5c32957b2716123aa28 xine-lib-1.1.16.2-pruned.tar.bz2
-07bf186d51b8315026453a2f21b33703 xine-lib-1.1.16.2-autotools.patch.bz2
+e50122a9323107564d58056b35256610 xine-lib-1.1.16.3-autotools.patch.bz2
+0cac86b7d74c1dcaa22f5a8cbc5ef578 xine-lib-1.1.16.3-pruned.tar.bz2
diff --git a/xine-lib-add-mime-for-mod.patch b/xine-lib-add-mime-for-mod.patch
deleted file mode 100644
index 371b062..0000000
--- a/xine-lib-add-mime-for-mod.patch
+++ /dev/null
@@ -1,23 +0,0 @@
---- src/demuxers/demux_mod.c 2009-02-08 20:56:51.000000000 +0200
-+++ src/demuxers/demux_mod.c.add-mime 2009-03-25 19:41:03.259017840 +0200
-@@ -379,7 +379,19 @@
- }
-
- static const char *get_mimetypes (demux_class_t *this_gen) {
-- return NULL;
-+ return "audio/x-mod: mod: SoundTracker/NoiseTracker/ProTracker Module;"
-+ "audio/mod: mod: SoundTracker/NoiseTracker/ProTracker Module;"
-+ "audio/it: it: ImpulseTracker Module;"
-+ "audio/x-it: it: ImpulseTracker Module;"
-+ "audio/x-stm: stm: ScreamTracker 2 Module;"
-+ "audio/x-s3m: s3m: ScreamTracker 3 Module;"
-+ "audio/s3m: s3m: ScreamTracker 3 Module;"
-+ "application/playerpro: 669: 669 Tracker Module;"
-+ "application/adrift; amf: ADRIFT Module File;"
-+ "audio/med; med; Amiga MED/OctaMED Tracker Module Sound File;"
-+ "audio/x-amf; amf: ADRIFT Module File;"
-+ "audio/x-xm; xm: FastTracker II Audio;"
-+ "audio/xm; xm: FastTracker II Audio;";
- }
-
- static void class_dispose (demux_class_t *this_gen) {
diff --git a/xine-lib-safe-audio-pause3.patch b/xine-lib-safe-audio-pause3.patch
deleted file mode 100644
index fdfbf8a..0000000
--- a/xine-lib-safe-audio-pause3.patch
+++ /dev/null
@@ -1,132 +0,0 @@
-# HG changeset patch
-# User Miguel Freitas <miguelfreitas(a)users.sourceforge.net>
-# Date 1234834587 10800
-# Node ID 2208e465026c1e54318d36dad8ca180d52fcc318
-# Parent 24a9b3d531419405f71dbcf96da93876769eb990
-Protect audio loop so it cannot write to a paused device (fix
-pause/resume freeze with pulseaudio).
-
-diff -r 24a9b3d53141 -r 2208e465026c src/xine-engine/audio_out.c
---- a/src/xine-engine/audio_out.c Fri Feb 13 18:01:29 2009 +0000
-+++ b/src/xine-engine/audio_out.c Mon Feb 16 22:36:27 2009 -0300
-@@ -243,6 +243,7 @@
- audio_fifo_t *free_fifo;
- audio_fifo_t *out_fifo;
- int64_t last_audio_vpts;
-+ pthread_mutex_t current_speed_lock;
- uint32_t current_speed; /* the current playback speed */
- /* FIXME: replace all this->clock->speed with this->current_speed. we should make
- * sure nobody will change speed without going through xine.c:set_speed_internal */
-@@ -1040,6 +1041,7 @@
- * we must process/free buffers otherwise the entire engine will stop.
- */
-
-+ pthread_mutex_lock(&this->current_speed_lock);
- if ( this->audio_loop_running &&
- (this->clock->speed == XINE_SPEED_PAUSE ||
- (this->clock->speed != XINE_FINE_SPEED_NORMAL &&
-@@ -1055,6 +1057,7 @@
- _x_refcounter_dec(in_buf->stream->refcounter);
- fifo_append (this->free_fifo, in_buf);
- in_buf = NULL;
-+ pthread_mutex_unlock(&this->current_speed_lock);
- continue;
- }
-
-@@ -1065,6 +1068,7 @@
- }
-
- lprintf ("loop:pause: I feel sleepy (%d buffers).\n", this->out_fifo->num_buffers);
-+ pthread_mutex_unlock(&this->current_speed_lock);
- xine_usec_sleep (10000);
- lprintf ("loop:pause: I wake up.\n");
- continue;
-@@ -1274,6 +1278,7 @@
- fifo_append (this->free_fifo, in_buf);
- in_buf = NULL;
- }
-+ pthread_mutex_unlock(&this->current_speed_lock);
-
- /* Give other threads a chance to use functions which require this->driver_lock to
- * be available. This is needed when using NPTL on Linux (and probably PThreads
-@@ -1684,6 +1689,7 @@
- free (this->frame_buf[1]);
- free (this->zero_space);
-
-+ pthread_mutex_destroy(&this->current_speed_lock);
- pthread_mutex_destroy(&this->flush_audio_driver_lock);
- pthread_cond_destroy(&this->flush_audio_driver_reached);
-
-@@ -1910,8 +1916,15 @@
- if (value != XINE_FINE_SPEED_NORMAL && value != XINE_SPEED_PAUSE && !this->slow_fast_audio )
- this->ao.control(&this->ao, AO_CTRL_FLUSH_BUFFERS, NULL);
-
-- this->ao.control(&this->ao,
-- (value == XINE_SPEED_PAUSE) ? AO_CTRL_PLAY_PAUSE : AO_CTRL_PLAY_RESUME, NULL);
-+ if( value == XINE_SPEED_PAUSE ) {
-+ /* current_speed_lock is here to make sure the ao_loop will pause in a safe place.
-+ * that is, we cannot pause writing to device, filling gaps etc. */
-+ pthread_mutex_lock(&this->current_speed_lock);
-+ this->ao.control(&this->ao, AO_CTRL_PLAY_PAUSE, NULL);
-+ pthread_mutex_unlock(&this->current_speed_lock);
-+ } else {
-+ this->ao.control(&this->ao, AO_CTRL_PLAY_RESUME, NULL);
-+ }
- this->current_speed = value;
- if( this->slow_fast_audio )
- ao_update_resample_factor(this);
-@@ -2056,6 +2069,7 @@
- this->driver = driver;
- this->xine = xine;
- this->clock = xine->clock;
-+ this->current_speed = xine->clock->speed;
- this->streams = xine_list_new();
-
- /* warning: driver_lock is a recursive mutex. it must NOT be
-@@ -2087,6 +2101,7 @@
- this->discard_buffers = 0;
- this->zero_space = calloc (1, ZERO_BUF_SIZE * 4 * 6); /* MAX as 32bit, 6 channels. */
-
-+ pthread_mutex_init( &this->current_speed_lock, NULL );
- pthread_mutex_init( &this->flush_audio_driver_lock, NULL );
- pthread_cond_init( &this->flush_audio_driver_reached, NULL );
-
-diff -r 24a9b3d53141 -r 2208e465026c src/xine-engine/xine.c
---- a/src/xine-engine/xine.c Fri Feb 13 18:01:29 2009 +0000
-+++ b/src/xine-engine/xine.c Mon Feb 16 22:36:27 2009 -0300
-@@ -330,17 +330,20 @@
-
- static void set_speed_internal (xine_stream_t *stream, int speed) {
- xine_t *xine = stream->xine;
-+ int old_speed = xine->clock->speed;
-
-- if (xine->clock->speed != XINE_SPEED_PAUSE && speed == XINE_SPEED_PAUSE)
-+ if (old_speed != XINE_SPEED_PAUSE && speed == XINE_SPEED_PAUSE)
- /* get all decoder and post threads in a state where they agree to be blocked */
- xine->port_ticket->revoke(xine->port_ticket, 0);
-
-- if (xine->clock->speed == XINE_SPEED_PAUSE && speed != XINE_SPEED_PAUSE)
-+ if (old_speed == XINE_SPEED_PAUSE && speed != XINE_SPEED_PAUSE)
- /* all decoder and post threads may continue now */
- xine->port_ticket->issue(xine->port_ticket, 0);
-
-- stream->xine->clock->set_fine_speed (stream->xine->clock, speed);
--
-+ if (old_speed != XINE_SPEED_PAUSE && speed == XINE_SPEED_PAUSE)
-+ /* set master clock so audio_out loop can pause in a safe place */
-+ stream->xine->clock->set_fine_speed (stream->xine->clock, speed);
-+
- /* see coment on audio_out loop about audio_paused */
- if( stream->audio_out ) {
- xine->port_ticket->acquire(xine->port_ticket, 1);
-@@ -350,6 +353,10 @@
-
- xine->port_ticket->release(xine->port_ticket, 1);
- }
-+
-+ if (old_speed == XINE_SPEED_PAUSE || speed != XINE_SPEED_PAUSE)
-+ /* master clock is set after resuming the audio device (audio_out loop may continue) */
-+ stream->xine->clock->set_fine_speed (stream->xine->clock, speed);
- }
-
-
diff --git a/xine-lib.spec b/xine-lib.spec
index 825bedf..7893457 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -4,7 +4,7 @@
# http://www.redhat.com/archives/fedora-legal-list/2007-August/msg00011.html
# - deprecate ESD support?
-%define abiver 1.25
+%define plugin_abi 1.26
%define codecdir %{_libdir}/codecs
%ifarch %{ix86}
@@ -33,8 +33,8 @@
Summary: A multimedia engine
Name: xine-lib
-Version: 1.1.16.2
-Release: 6%{?dist}
+Version: 1.1.16.3
+Release: 1%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -56,12 +56,10 @@ Patch8: xine-lib-1.1.15-avsync_hack.patch
# http://bugzilla.redhat.com/477226
Patch9: xine-lib-1.1.16.2-multilib.patch
## upstream patches
-Patch100: xine-lib-safe-audio-pause3.patch
-Patch101: xine-lib-add-mime-for-mod.patch
-Provides: xine-lib(plugin-abi) = %{abiver}
+Provides: xine-lib(plugin-abi) = %{plugin_abi}
%if "%{?_isa}" != "%{nil}"
-Provides: xine-lib(plugin-abi)%{?_isa} = %{abiver}
+Provides: xine-lib(plugin-abi)%{?_isa} = %{plugin_abi}
%endif
# X11
BuildRequires: libX11-devel
@@ -144,7 +142,7 @@ This package contains development files for %{name}.
Summary: aRts plugin for %{name}
Group: System Environment/Libraries
Requires: %{name} = %{version}-%{release}
-#Requires: xine-lib(plugin-abi) = %{abiver}
+#Requires: xine-lib(plugin-abi) = %{plugin_abi}
# -arts was split off the -extras subpackage at 1.1.7-3
Obsoletes: xine-lib-extras < 1.1.7-3
@@ -166,7 +164,7 @@ This package contains the pulseaudio plugin for %{name}.
Summary: Additional plugins for %{name}
Group: System Environment/Libraries
Requires: %{name} = %{version}-%{release}
-#Requires: xine-lib(plugin-abi) = %{abiver}
+#Requires: xine-lib(plugin-abi) = %{plugin_abi}
%description extras
This package contains extra plugins for %{name}:
@@ -210,9 +208,6 @@ sed -i -e 's/caca >= 0\.99beta14 cucul >= 0\.99beta14/caca cucul/g' configure
%patch8 -p1 -b .avsync_hack
%patch9 -p1 -b .multilib
-%patch100 -p1 -b .safe_audio_pause
-%patch101 -p0 -b .add-mime-for-mod
-
# Avoid standard rpaths on lib64 archs: (autotools patch should handle this, no? -- Rex )
#sed -i -e 's|"/lib /usr/lib\b|"/%{_lib} %{_libdir}|' configure
@@ -292,142 +287,142 @@ rm -rf $RPM_BUILD_ROOT
%{_mandir}/man5/xine.5*
%dir %{_libdir}/xine/
%dir %{_libdir}/xine/plugins/
-%dir %{_libdir}/xine/plugins/%{abiver}/
-%{_libdir}/xine/plugins/%{abiver}/mime.types
+%dir %{_libdir}/xine/plugins/%{plugin_abi}/
+%{_libdir}/xine/plugins/%{plugin_abi}/mime.types
# Listing every plugin separately for better control over binary packages
# containing exactly the plugins we want, nothing accidentally snuck in
# nor dropped.
-%dir %{_libdir}/xine/plugins/%{abiver}/post/
-%{_libdir}/xine/plugins/%{abiver}/post/xineplug_post_audio_filters.so
-%{_libdir}/xine/plugins/%{abiver}/post/xineplug_post_goom.so
-%{_libdir}/xine/plugins/%{abiver}/post/xineplug_post_mosaico.so
-%{_libdir}/xine/plugins/%{abiver}/post/xineplug_post_switch.so
-%{_libdir}/xine/plugins/%{abiver}/post/xineplug_post_visualizations.so
+%dir %{_libdir}/xine/plugins/%{plugin_abi}/post/
+%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_audio_filters.so
+%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_goom.so
+%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_mosaico.so
+%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_switch.so
+%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_visualizations.so
%if %{have_vidix}
-%dir %{_libdir}/xine/plugins/%{abiver}/vidix/
-%{_libdir}/xine/plugins/%{abiver}/vidix/cyberblade_vid.so
-%{_libdir}/xine/plugins/%{abiver}/vidix/mach64_vid.so
-%{_libdir}/xine/plugins/%{abiver}/vidix/mga_crtc2_vid.so
-%{_libdir}/xine/plugins/%{abiver}/vidix/mga_vid.so
-%{_libdir}/xine/plugins/%{abiver}/vidix/nvidia_vid.so
-%{_libdir}/xine/plugins/%{abiver}/vidix/pm2_vid.so
-%{_libdir}/xine/plugins/%{abiver}/vidix/pm3_vid.so
-%{_libdir}/xine/plugins/%{abiver}/vidix/radeon_vid.so
-%{_libdir}/xine/plugins/%{abiver}/vidix/rage128_vid.so
-%{_libdir}/xine/plugins/%{abiver}/vidix/savage_vid.so
-%{_libdir}/xine/plugins/%{abiver}/vidix/sis_vid.so
-%{_libdir}/xine/plugins/%{abiver}/vidix/unichrome_vid.so
+%dir %{_libdir}/xine/plugins/%{plugin_abi}/vidix/
+%{_libdir}/xine/plugins/%{plugin_abi}/vidix/cyberblade_vid.so
+%{_libdir}/xine/plugins/%{plugin_abi}/vidix/mach64_vid.so
+%{_libdir}/xine/plugins/%{plugin_abi}/vidix/mga_crtc2_vid.so
+%{_libdir}/xine/plugins/%{plugin_abi}/vidix/mga_vid.so
+%{_libdir}/xine/plugins/%{plugin_abi}/vidix/nvidia_vid.so
+%{_libdir}/xine/plugins/%{plugin_abi}/vidix/pm2_vid.so
+%{_libdir}/xine/plugins/%{plugin_abi}/vidix/pm3_vid.so
+%{_libdir}/xine/plugins/%{plugin_abi}/vidix/radeon_vid.so
+%{_libdir}/xine/plugins/%{plugin_abi}/vidix/rage128_vid.so
+%{_libdir}/xine/plugins/%{plugin_abi}/vidix/savage_vid.so
+%{_libdir}/xine/plugins/%{plugin_abi}/vidix/sis_vid.so
+%{_libdir}/xine/plugins/%{plugin_abi}/vidix/unichrome_vid.so
%endif # vidix
-%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_alsa.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_file.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_none.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_oss.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_bitplane.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_gsm610.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_lpcm.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_mpc.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_alsa.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_file.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_none.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_oss.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_bitplane.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_gsm610.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_lpcm.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_mpc.so
%ifarch %ix86
-%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_qt.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_qt.so
%endif # ix86
-%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_real.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_rgb.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_speex.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_spu.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_spucc.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_spucmml.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_spudvb.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_sputext.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_theora.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_vorbis.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_real.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_rgb.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_speex.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spu.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spucc.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spucmml.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spudvb.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_sputext.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_theora.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_vorbis.so
%ifarch %ix86
-%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_w32dll.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_w32dll.so
%endif # ix86
-%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_yuv.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_audio.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_avi.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_fli.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_flv.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_games.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_iff.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_image.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_matroska.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_mng.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_mpeg.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_mpeg_block.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_mpeg_elem.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_mpeg_pes.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_mpeg_ts.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_nsv.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_ogg.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_pva.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_qt.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_rawdv.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_real.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_slave.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_sputext.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_yuv_frames.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_yuv4mpeg2.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_flac.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_cdda.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_dvb.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_file.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_http.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_net.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_pnm.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_pvr.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_rtp.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_rtsp.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_stdin_fifo.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_v4l.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_fb.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_none.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_opengl.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_raw.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_syncfb.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_yuv.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_audio.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_avi.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_fli.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_flv.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_games.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_iff.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_image.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_matroska.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mng.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mpeg.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mpeg_block.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mpeg_elem.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mpeg_pes.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mpeg_ts.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_nsv.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_ogg.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_pva.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_qt.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_rawdv.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_real.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_slave.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_sputext.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_yuv_frames.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_yuv4mpeg2.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_flac.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_cdda.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_dvb.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_file.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_http.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_net.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_pnm.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_pvr.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_rtp.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_rtsp.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_stdin_fifo.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_v4l.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_fb.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_none.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_opengl.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_raw.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_syncfb.so
%if %{have_vidix}
-%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_vidix.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_vidix.so
%endif # vidix
%if %{with_xcb}
-%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_xcbshm.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_xcbxv.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xcbshm.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xcbxv.so
%endif # xcb
-%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_xshm.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_xv.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_xvmc.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_xxmc.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_wavpack.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xshm.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xv.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xvmc.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xxmc.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_wavpack.so
%if 0%{!?_without_arts:1}
%files arts
%defattr(-,root,root,-)
-%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_arts.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_arts.so
%endif
%if %{with_pa}
%files pulseaudio
%defattr(-,root,root,-)
-%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_pulseaudio.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_pulseaudio.so
%endif
%files extras
%defattr(-,root,root,-)
-%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_esd.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_jack.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_gdk_pixbuf.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_esd.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_jack.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_gdk_pixbuf.so
%if 0%{!?_without_imagemagick:1}
-%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_image.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_image.so
%endif # imagemagick
-%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_gnome_vfs.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_smb.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_gnome_vfs.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_smb.so
%if %{with_aalib}
-%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_aa.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_aa.so
%endif # aalib
-%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_caca.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_caca.so
%if 0%{!?_without_directfb:1}
-%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_directfb.so
-%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_xdirectfb.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_directfb.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xdirectfb.so
%endif # directfb
-%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_sdl.so
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_sdl.so
%files devel
%defattr(-,root,root,-)
@@ -444,6 +439,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Fri Apr 03 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.3-1
+- xine-lib-1.1.16.3, plugin-abi 1.26
+
* Thu Mar 26 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.2-6
- add-mime-for-mod.patch
@@ -472,7 +470,7 @@ rm -rf $RPM_BUILD_ROOT
- safe-audio-pause patch (kdebug#180339)
* Mon Jan 26 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.1-2
-- Provides: xine-lib(plugin-abi)%%{?_isa} = %%{abiver}
+- Provides: xine-lib(plugin-abi)%%{?_isa} = %%{plugin_abi}
- touchup Summary/Description
* Fri Jan 23 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.1-1
commit 4fc20dbcd498750e34700a5d19e58d1e0e1449da
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Thu Mar 26 15:24:55 2009 +0000
fix patch for no fuzz
diff --git a/xine-lib-add-mime-for-mod.patch b/xine-lib-add-mime-for-mod.patch
index 4bfa944..371b062 100644
--- a/xine-lib-add-mime-for-mod.patch
+++ b/xine-lib-add-mime-for-mod.patch
@@ -20,4 +20,4 @@
+ "audio/xm; xm: FastTracker II Audio;";
}
- static void class_dispose (demux_class_t *this_gen) {
\ No newline at end of file
+ static void class_dispose (demux_class_t *this_gen) {
commit 47c9b778d82a8c353960d3038500754441f898ab
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Thu Mar 26 14:56:30 2009 +0000
* Thu Mar 26 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.2-6
- add-mime-for-mod.patch
diff --git a/xine-lib-add-mime-for-mod.patch b/xine-lib-add-mime-for-mod.patch
new file mode 100644
index 0000000..4bfa944
--- /dev/null
+++ b/xine-lib-add-mime-for-mod.patch
@@ -0,0 +1,23 @@
+--- src/demuxers/demux_mod.c 2009-02-08 20:56:51.000000000 +0200
++++ src/demuxers/demux_mod.c.add-mime 2009-03-25 19:41:03.259017840 +0200
+@@ -379,7 +379,19 @@
+ }
+
+ static const char *get_mimetypes (demux_class_t *this_gen) {
+- return NULL;
++ return "audio/x-mod: mod: SoundTracker/NoiseTracker/ProTracker Module;"
++ "audio/mod: mod: SoundTracker/NoiseTracker/ProTracker Module;"
++ "audio/it: it: ImpulseTracker Module;"
++ "audio/x-it: it: ImpulseTracker Module;"
++ "audio/x-stm: stm: ScreamTracker 2 Module;"
++ "audio/x-s3m: s3m: ScreamTracker 3 Module;"
++ "audio/s3m: s3m: ScreamTracker 3 Module;"
++ "application/playerpro: 669: 669 Tracker Module;"
++ "application/adrift; amf: ADRIFT Module File;"
++ "audio/med; med; Amiga MED/OctaMED Tracker Module Sound File;"
++ "audio/x-amf; amf: ADRIFT Module File;"
++ "audio/x-xm; xm: FastTracker II Audio;"
++ "audio/xm; xm: FastTracker II Audio;";
+ }
+
+ static void class_dispose (demux_class_t *this_gen) {
\ No newline at end of file
diff --git a/xine-lib.spec b/xine-lib.spec
index 8fac3ad..825bedf 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -34,7 +34,7 @@
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.16.2
-Release: 5%{?dist}
+Release: 6%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -56,7 +56,8 @@ Patch8: xine-lib-1.1.15-avsync_hack.patch
# http://bugzilla.redhat.com/477226
Patch9: xine-lib-1.1.16.2-multilib.patch
## upstream patches
-Patch100: xine-lib-safe-audio-pause3.patch
+Patch100: xine-lib-safe-audio-pause3.patch
+Patch101: xine-lib-add-mime-for-mod.patch
Provides: xine-lib(plugin-abi) = %{abiver}
%if "%{?_isa}" != "%{nil}"
@@ -210,6 +211,7 @@ sed -i -e 's/caca >= 0\.99beta14 cucul >= 0\.99beta14/caca cucul/g' configure
%patch9 -p1 -b .multilib
%patch100 -p1 -b .safe_audio_pause
+%patch101 -p0 -b .add-mime-for-mod
# Avoid standard rpaths on lib64 archs: (autotools patch should handle this, no? -- Rex )
#sed -i -e 's|"/lib /usr/lib\b|"/%{_lib} %{_libdir}|' configure
@@ -442,6 +444,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Thu Mar 26 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.2-6
+- add-mime-for-mod.patch
+
* Tue Mar 10 2009 Kevin Kofler <Kevin(a)tigcc.ticalc.org> - 1.1.16.2-5
- rebuild for new ImageMagick
commit cf59925f13c986e95994d193f09d9e5898a89225
Author: Kevin Kofler <kkofler(a)fedoraproject.org>
Date: Tue Mar 10 01:10:54 2009 +0000
* Tue Mar 10 2009 Kevin Kofler <Kevin(a)tigcc.ticalc.org> - 1.1.16.2-5
- rebuild for new ImageMagick
diff --git a/xine-lib.spec b/xine-lib.spec
index ed3cee6..8fac3ad 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -34,7 +34,7 @@
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.16.2
-Release: 4%{?dist}
+Release: 5%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -442,6 +442,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Tue Mar 10 2009 Kevin Kofler <Kevin(a)tigcc.ticalc.org> - 1.1.16.2-5
+- rebuild for new ImageMagick
+
* Thu Feb 26 2009 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1.1.16.2-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
commit 5658e316553794546ad36929ccdb3d278fdc5e84
Author: Jesse Keating <jkeating(a)fedoraproject.org>
Date: Thu Feb 26 09:40:15 2009 +0000
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
diff --git a/xine-lib.spec b/xine-lib.spec
index aa0ffe4..ed3cee6 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -34,7 +34,7 @@
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.16.2
-Release: 3%{?dist}
+Release: 4%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -442,6 +442,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Thu Feb 26 2009 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1.1.16.2-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
+
* Fri Feb 20 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.2-3
- xine-lib-devel muiltilib conflict (#477226)
commit f7820e51d62cae32f078b18f860c560c2554febe
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Fri Feb 20 13:37:39 2009 +0000
* Fri Feb 20 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.2-3
- xine-lib-devel muiltilib conflict (#477226)
diff --git a/xine-lib-1.1.16.2-multilib.patch b/xine-lib-1.1.16.2-multilib.patch
new file mode 100644
index 0000000..4609e63
--- /dev/null
+++ b/xine-lib-1.1.16.2-multilib.patch
@@ -0,0 +1,16 @@
+diff -up xine-lib-1.1.16.2/misc/xine-config.in.multilib xine-lib-1.1.16.2/misc/xine-config.in
+--- xine-lib-1.1.16.2/misc/xine-config.in.multilib 2008-06-25 08:04:09.000000000 -0500
++++ xine-lib-1.1.16.2/misc/xine-config.in 2009-02-20 07:34:27.000000000 -0600
+@@ -6,12 +6,6 @@ unset prefix
+ unset exec_prefix
+ unset args
+
+-PKG_CONFIG_PATH="`cat <<'EOF'
+-@XINE_PKGCONFIG_DIR@
+-EOF
+-`${PKG_CONFIG_PATH:+:}$PKG_CONFIG_PATH"
+-export PKG_CONFIG_PATH
+-
+ usage()
+ {
+ cat <<EOF
diff --git a/xine-lib.spec b/xine-lib.spec
index ba2b3bf..aa0ffe4 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -34,7 +34,7 @@
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.16.2
-Release: 2%{?dist}
+Release: 3%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -53,6 +53,8 @@ Patch6: %{name}-1.1.1-deepbind-939.patch
Patch7: %{name}-1.1.16-old-caca.patch
# http://bugzilla.redhat.com/470568
Patch8: xine-lib-1.1.15-avsync_hack.patch
+# http://bugzilla.redhat.com/477226
+Patch9: xine-lib-1.1.16.2-multilib.patch
## upstream patches
Patch100: xine-lib-safe-audio-pause3.patch
@@ -205,6 +207,7 @@ sed -i -e 's/caca >= 0\.99beta14 cucul >= 0\.99beta14/caca cucul/g' configure
%endif
%patch8 -p1 -b .avsync_hack
+%patch9 -p1 -b .multilib
%patch100 -p1 -b .safe_audio_pause
@@ -439,8 +442,11 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Fri Feb 20 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.2-3
+- xine-lib-devel muiltilib conflict (#477226)
+
* Tue Feb 17 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.2-2
-- xine-lib-safe-audio-pause3 patch (kdebug#180339)
+- xine-lib-safe-audio-pause3 patch (#486255, kdebug#180339)
* Tue Feb 10 2009 Kevin Kofler <Kevin(a)tigcc.ticalc.org> - 1.1.16.2-1.1
- also patch the caca version check in configure(.ac)
commit 866427bb6095d28da19606551ea4e55648715b12
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Tue Feb 17 21:23:03 2009 +0000
* Tue Feb 17 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.2-2
- xine-lib-safe-audio-pause3 patch (kdebug#180339)
diff --git a/xine-lib-safe-audio-pause.patch b/xine-lib-safe-audio-pause3.patch
similarity index 75%
rename from xine-lib-safe-audio-pause.patch
rename to xine-lib-safe-audio-pause3.patch
index 4a4b70b..fdfbf8a 100644
--- a/xine-lib-safe-audio-pause.patch
+++ b/xine-lib-safe-audio-pause3.patch
@@ -1,6 +1,14 @@
-diff -r ce4b1533a0af src/xine-engine/audio_out.c
---- a/src/xine-engine/audio_out.c Sun Jan 11 22:24:42 2009 +0000
-+++ b/src/xine-engine/audio_out.c Sat Feb 07 15:09:24 2009 -0200
+# HG changeset patch
+# User Miguel Freitas <miguelfreitas(a)users.sourceforge.net>
+# Date 1234834587 10800
+# Node ID 2208e465026c1e54318d36dad8ca180d52fcc318
+# Parent 24a9b3d531419405f71dbcf96da93876769eb990
+Protect audio loop so it cannot write to a paused device (fix
+pause/resume freeze with pulseaudio).
+
+diff -r 24a9b3d53141 -r 2208e465026c src/xine-engine/audio_out.c
+--- a/src/xine-engine/audio_out.c Fri Feb 13 18:01:29 2009 +0000
++++ b/src/xine-engine/audio_out.c Mon Feb 16 22:36:27 2009 -0300
@@ -243,6 +243,7 @@
audio_fifo_t *free_fifo;
audio_fifo_t *out_fifo;
@@ -49,23 +57,25 @@ diff -r ce4b1533a0af src/xine-engine/audio_out.c
pthread_mutex_destroy(&this->flush_audio_driver_lock);
pthread_cond_destroy(&this->flush_audio_driver_reached);
-@@ -1910,11 +1916,15 @@
+@@ -1910,8 +1916,15 @@
if (value != XINE_FINE_SPEED_NORMAL && value != XINE_SPEED_PAUSE && !this->slow_fast_audio )
this->ao.control(&this->ao, AO_CTRL_FLUSH_BUFFERS, NULL);
-+ /* current_speed_lock is here to make sure the ao_loop will pause in a safe place.
-+ * that is, we cannot pause writing to device, filling gaps etc. */
-+ pthread_mutex_lock(&this->current_speed_lock);
- this->ao.control(&this->ao,
- (value == XINE_SPEED_PAUSE) ? AO_CTRL_PLAY_PAUSE : AO_CTRL_PLAY_RESUME, NULL);
+- this->ao.control(&this->ao,
+- (value == XINE_SPEED_PAUSE) ? AO_CTRL_PLAY_PAUSE : AO_CTRL_PLAY_RESUME, NULL);
++ if( value == XINE_SPEED_PAUSE ) {
++ /* current_speed_lock is here to make sure the ao_loop will pause in a safe place.
++ * that is, we cannot pause writing to device, filling gaps etc. */
++ pthread_mutex_lock(&this->current_speed_lock);
++ this->ao.control(&this->ao, AO_CTRL_PLAY_PAUSE, NULL);
++ pthread_mutex_unlock(&this->current_speed_lock);
++ } else {
++ this->ao.control(&this->ao, AO_CTRL_PLAY_RESUME, NULL);
++ }
this->current_speed = value;
if( this->slow_fast_audio )
ao_update_resample_factor(this);
-+ pthread_mutex_unlock(&this->current_speed_lock);
- break;
-
- default:
-@@ -2056,6 +2066,7 @@
+@@ -2056,6 +2069,7 @@
this->driver = driver;
this->xine = xine;
this->clock = xine->clock;
@@ -73,7 +83,7 @@ diff -r ce4b1533a0af src/xine-engine/audio_out.c
this->streams = xine_list_new();
/* warning: driver_lock is a recursive mutex. it must NOT be
-@@ -2087,6 +2098,7 @@
+@@ -2087,6 +2101,7 @@
this->discard_buffers = 0;
this->zero_space = calloc (1, ZERO_BUF_SIZE * 4 * 6); /* MAX as 32bit, 6 channels. */
@@ -81,9 +91,9 @@ diff -r ce4b1533a0af src/xine-engine/audio_out.c
pthread_mutex_init( &this->flush_audio_driver_lock, NULL );
pthread_cond_init( &this->flush_audio_driver_reached, NULL );
-diff -r ce4b1533a0af src/xine-engine/xine.c
---- a/src/xine-engine/xine.c Sun Jan 11 22:24:42 2009 +0000
-+++ b/src/xine-engine/xine.c Sat Feb 07 15:09:25 2009 -0200
+diff -r 24a9b3d53141 -r 2208e465026c src/xine-engine/xine.c
+--- a/src/xine-engine/xine.c Fri Feb 13 18:01:29 2009 +0000
++++ b/src/xine-engine/xine.c Mon Feb 16 22:36:27 2009 -0300
@@ -330,17 +330,20 @@
static void set_speed_internal (xine_stream_t *stream, int speed) {
@@ -114,7 +124,7 @@ diff -r ce4b1533a0af src/xine-engine/xine.c
xine->port_ticket->release(xine->port_ticket, 1);
}
+
-+ if (old_speed == XINE_SPEED_PAUSE && speed != XINE_SPEED_PAUSE)
++ if (old_speed == XINE_SPEED_PAUSE || speed != XINE_SPEED_PAUSE)
+ /* master clock is set after resuming the audio device (audio_out loop may continue) */
+ stream->xine->clock->set_fine_speed (stream->xine->clock, speed);
}
diff --git a/xine-lib.spec b/xine-lib.spec
index 74cbcd8..ba2b3bf 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -34,7 +34,7 @@
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.16.2
-Release: 1%{?dist}.1
+Release: 2%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -54,7 +54,7 @@ Patch7: %{name}-1.1.16-old-caca.patch
# http://bugzilla.redhat.com/470568
Patch8: xine-lib-1.1.15-avsync_hack.patch
## upstream patches
-Patch100: xine-lib-safe-audio-pause.patch
+Patch100: xine-lib-safe-audio-pause3.patch
Provides: xine-lib(plugin-abi) = %{abiver}
%if "%{?_isa}" != "%{nil}"
@@ -439,6 +439,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Tue Feb 17 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.2-2
+- xine-lib-safe-audio-pause3 patch (kdebug#180339)
+
* Tue Feb 10 2009 Kevin Kofler <Kevin(a)tigcc.ticalc.org> - 1.1.16.2-1.1
- also patch the caca version check in configure(.ac)
commit 04cb6e43933afac81f6a42a62923ebad10eb54cd
Author: Kevin Kofler <kkofler(a)fedoraproject.org>
Date: Wed Feb 11 00:01:43 2009 +0000
Sync F9 change up so we don't lose the change when syncing.
diff --git a/xine-lib.spec b/xine-lib.spec
index 5170e18..74cbcd8 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -34,7 +34,7 @@
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.16.2
-Release: 1%{?dist}
+Release: 1%{?dist}.1
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -50,7 +50,6 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Patch1: %{name}-1.1.4-optflags.patch
Patch6: %{name}-1.1.1-deepbind-939.patch
-# FIXME for 1.1.16.1 ?
Patch7: %{name}-1.1.16-old-caca.patch
# http://bugzilla.redhat.com/470568
Patch8: xine-lib-1.1.15-avsync_hack.patch
@@ -188,6 +187,9 @@ This package contains extra plugins for %{name}:
%prep
%setup -q
+%if 0%{?old_caca}
+sed -i -e 's/caca >= 0\.99beta14 cucul >= 0\.99beta14/caca cucul/g' configure.ac
+%endif
%patch0 -p1 -b .autotools
touch -r configure.ac aclocal.m4
touch -r m4/optimizations.m4 m4/optimizations.m4.stamp
@@ -198,6 +200,7 @@ touch -r m4/optimizations.m4.stamp m4/optimizations.m4
#patch6 -p1 -b .deepbind
%if 0%{?old_caca}
+sed -i -e 's/caca >= 0\.99beta14 cucul >= 0\.99beta14/caca cucul/g' configure
%patch7 -p0 -b .old-caca
%endif
@@ -436,6 +439,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Tue Feb 10 2009 Kevin Kofler <Kevin(a)tigcc.ticalc.org> - 1.1.16.2-1.1
+- also patch the caca version check in configure(.ac)
+
* Tue Feb 10 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.2-1
- xine-lib-1.1.16.2
commit b49ffe308e7099e712374e83dd9eab11360ca523
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Tue Feb 10 23:03:37 2009 +0000
* Tue Feb 10 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.2-1
- xine-lib-1.1.16.2
diff --git a/.cvsignore b/.cvsignore
index 34a3b02..8a0cd42 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -1,2 +1,2 @@
-xine-lib-1.1.16.1-autotools.patch.bz2
-xine-lib-1.1.16.1-pruned.tar.bz2
+xine-lib-1.1.16.2-pruned.tar.bz2
+xine-lib-1.1.16.2-autotools.patch.bz2
diff --git a/sources b/sources
index 9a7e9c8..95d5764 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-e3e061f93f36eae910b66cb0c973dbb8 xine-lib-1.1.16.1-autotools.patch.bz2
-aa1265b1007086c0906ec8134cfeacf6 xine-lib-1.1.16.1-pruned.tar.bz2
+e2c3a178be02f5c32957b2716123aa28 xine-lib-1.1.16.2-pruned.tar.bz2
+07bf186d51b8315026453a2f21b33703 xine-lib-1.1.16.2-autotools.patch.bz2
diff --git a/xine-lib-1.1.16.1-gapless_race_fix.patch b/xine-lib-1.1.16.1-gapless_race_fix.patch
deleted file mode 100644
index ec46cbf..0000000
--- a/xine-lib-1.1.16.1-gapless_race_fix.patch
+++ /dev/null
@@ -1,144 +0,0 @@
-diff -up xine-lib-1.1.16.1/src/xine-engine/audio_out.c.gapless_rate_fix xine-lib-1.1.16.1/src/xine-engine/audio_out.c
---- xine-lib-1.1.16.1/src/xine-engine/audio_out.c.gapless_rate_fix 2009-02-09 07:30:08.000000000 -0600
-+++ xine-lib-1.1.16.1/src/xine-engine/audio_out.c 2009-02-09 07:30:08.000000000 -0600
-@@ -1623,7 +1623,7 @@ static void ao_close(xine_audio_port_t *
- pthread_mutex_unlock(&this->streams_lock);
-
- /* close driver if no streams left */
-- if (!ite && !this->grab_only && !stream->gapless_switch) {
-+ if (!ite && !this->grab_only && !stream->keep_ao_driver_open) {
- xprintf (this->xine, XINE_VERBOSITY_DEBUG, "audio_out: no streams left, closing driver\n");
-
- if (this->audio_loop_running) {
-diff -up xine-lib-1.1.16.1/src/xine-engine/video_decoder.c.gapless_rate_fix xine-lib-1.1.16.1/src/xine-engine/video_decoder.c
---- xine-lib-1.1.16.1/src/xine-engine/video_decoder.c.gapless_rate_fix 2008-04-28 08:30:56.000000000 -0500
-+++ xine-lib-1.1.16.1/src/xine-engine/video_decoder.c 2009-02-09 07:31:36.000000000 -0600
-@@ -160,7 +160,7 @@ static void *video_decoder_loop (void *s
-
- running_ticket->release(running_ticket, 0);
-
-- if( !stream->gapless_switch )
-+ if( !(buf->decoder_flags & BUF_FLAG_GAPLESS_SW) )
- stream->metronom->handle_video_discontinuity (stream->metronom,
- DISC_STREAMSTART, 0);
-
-diff -up xine-lib-1.1.16.1/src/xine-engine/xine.c.gapless_rate_fix xine-lib-1.1.16.1/src/xine-engine/xine.c
---- xine-lib-1.1.16.1/src/xine-engine/xine.c.gapless_rate_fix 2009-02-09 07:30:08.000000000 -0600
-+++ xine-lib-1.1.16.1/src/xine-engine/xine.c 2009-02-09 07:30:08.000000000 -0600
-@@ -426,6 +426,7 @@ void xine_stop (xine_stream_t *stream) {
- static void close_internal (xine_stream_t *stream) {
-
- int i ;
-+ int gapless_switch = stream->gapless_switch;
-
- if( stream->slave ) {
- xine_close( stream->slave );
-@@ -436,7 +437,7 @@ static void close_internal (xine_stream_
- }
- }
-
-- if( !stream->gapless_switch ) {
-+ if( !gapless_switch ) {
- /* make sure that other threads cannot change the speed, especially pauseing the stream */
- pthread_mutex_lock(&stream->speed_change_lock);
- stream->ignore_speed_change = 1;
-@@ -452,7 +453,7 @@ static void close_internal (xine_stream_
-
- stop_internal( stream );
-
-- if( !stream->gapless_switch ) {
-+ if( !gapless_switch ) {
- if (stream->video_out)
- stream->video_out->set_property(stream->video_out, VO_PROP_DISCARD_FRAMES, 0);
- if (stream->audio_out)
-@@ -603,6 +604,7 @@ xine_stream_t *xine_stream_new (xine_t *
- stream->early_finish_event = 0;
- stream->delay_finish_event = 0;
- stream->gapless_switch = 0;
-+ stream->keep_ao_driver_open = 0;
-
- stream->video_out = vo;
- if (vo)
-diff -up xine-lib-1.1.16.1/src/xine-engine/buffer.h.gapless_rate_fix xine-lib-1.1.16.1/src/xine-engine/buffer.h
---- xine-lib-1.1.16.1/src/xine-engine/buffer.h.gapless_rate_fix 2009-01-10 19:25:34.000000000 -0600
-+++ xine-lib-1.1.16.1/src/xine-engine/buffer.h 2009-02-09 07:30:08.000000000 -0600
-@@ -378,6 +378,9 @@ struct buf_element_s {
- * decoder_info[2] carries denominator for display aspect ratio */
- #define BUF_FLAG_ASPECT 0x0800
-
-+/* represent the state of gapless_switch at the time buf was enqueued */
-+#define BUF_FLAG_GAPLESS_SW 0x1000
-+
-
- /* Special buffer types:
- * Sometimes there is a need to relay special information from a demuxer
-diff -up xine-lib-1.1.16.1/src/xine-engine/demux.c.gapless_rate_fix xine-lib-1.1.16.1/src/xine-engine/demux.c
---- xine-lib-1.1.16.1/src/xine-engine/demux.c.gapless_rate_fix 2009-01-10 19:25:34.000000000 -0600
-+++ xine-lib-1.1.16.1/src/xine-engine/demux.c 2009-02-09 07:30:08.000000000 -0600
-@@ -228,15 +228,18 @@ void _x_demux_control_headers_done (xine
- void _x_demux_control_start( xine_stream_t *stream ) {
-
- buf_element_t *buf;
-+ uint32_t flags = (stream->gapless_switch) ? BUF_FLAG_GAPLESS_SW : 0;
-
- pthread_mutex_lock(&stream->demux_mutex);
-
- buf = stream->video_fifo->buffer_pool_alloc (stream->video_fifo);
- buf->type = BUF_CONTROL_START;
-+ buf->decoder_flags = flags;
- stream->video_fifo->put (stream->video_fifo, buf);
-
- buf = stream->audio_fifo->buffer_pool_alloc (stream->audio_fifo);
- buf->type = BUF_CONTROL_START;
-+ buf->decoder_flags = flags;
- stream->audio_fifo->put (stream->audio_fifo, buf);
-
- pthread_mutex_unlock(&stream->demux_mutex);
-diff -up xine-lib-1.1.16.1/src/xine-engine/audio_decoder.c.gapless_rate_fix xine-lib-1.1.16.1/src/xine-engine/audio_decoder.c
---- xine-lib-1.1.16.1/src/xine-engine/audio_decoder.c.gapless_rate_fix 2008-04-28 08:30:56.000000000 -0500
-+++ xine-lib-1.1.16.1/src/xine-engine/audio_decoder.c 2009-02-09 07:30:08.000000000 -0600
-@@ -89,16 +89,18 @@ static void *audio_decoder_loop (void *s
- if (stream->audio_decoder_plugin) {
-
- lprintf ("close old decoder\n");
--
-+
-+ stream->keep_ao_driver_open = !!(buf->decoder_flags & BUF_FLAG_GAPLESS_SW);
- _x_free_audio_decoder (stream, stream->audio_decoder_plugin);
- stream->audio_decoder_plugin = NULL;
- stream->audio_track_map_entries = 0;
- stream->audio_type = 0;
-+ stream->keep_ao_driver_open = 0;
- }
-
- running_ticket->release(running_ticket, 0);
-
-- if( !stream->gapless_switch )
-+ if( !(buf->decoder_flags & BUF_FLAG_GAPLESS_SW) )
- stream->metronom->handle_audio_discontinuity (stream->metronom, DISC_STREAMSTART, 0);
-
- buftype_unknown = 0;
-diff -up xine-lib-1.1.16.1/src/xine-engine/xine_interface.c.gapless_rate_fix xine-lib-1.1.16.1/src/xine-engine/xine_interface.c
---- xine-lib-1.1.16.1/src/xine-engine/xine_interface.c.gapless_rate_fix 2008-07-12 17:52:01.000000000 -0500
-+++ xine-lib-1.1.16.1/src/xine-engine/xine_interface.c 2009-02-09 07:30:08.000000000 -0600
-@@ -527,6 +527,9 @@ void xine_set_param (xine_stream_t *stre
-
- case XINE_PARAM_GAPLESS_SWITCH:
- stream->gapless_switch = !!value;
-+ if( stream->gapless_switch && !stream->early_finish_event ) {
-+ xprintf (stream->xine, XINE_VERBOSITY_DEBUG, "frontend possibly buggy: gapless_switch without early_finish_event\n");
-+ }
- break;
-
- default:
-diff -up xine-lib-1.1.16.1/src/xine-engine/xine_internal.h.gapless_rate_fix xine-lib-1.1.16.1/src/xine-engine/xine_internal.h
---- xine-lib-1.1.16.1/src/xine-engine/xine_internal.h.gapless_rate_fix 2008-08-24 16:51:15.000000000 -0500
-+++ xine-lib-1.1.16.1/src/xine-engine/xine_internal.h 2009-02-09 07:30:08.000000000 -0600
-@@ -361,6 +361,7 @@ struct xine_stream_s {
- int early_finish_event; /* do not wait fifos get empty before sending event */
- int gapless_switch; /* next stream switch will be gapless */
- int delay_finish_event; /* delay event in 1/10 sec units. 0=>no delay, -1=>forever */
-+ int keep_ao_driver_open;
- #endif
- };
-
diff --git a/xine-lib-mk-autotools-patch.sh b/xine-lib-mk-autotools-patch.sh
index 93590b4..dc1e103 100644
--- a/xine-lib-mk-autotools-patch.sh
+++ b/xine-lib-mk-autotools-patch.sh
@@ -22,10 +22,12 @@ rm -rf xine-lib-$version xine-lib-$version-pruned
tar jxf xine-lib-$version-pruned.tar.bz2
cp -a xine-lib-$version xine-lib-$version-pruned
-cd xine-lib-$version
+pushd xine-lib-$version
+# extra work for to omit old libtool-related crud
+rm -f configure ltmain.sh libtool m4/libtool.m4 m4/ltoptions.m4 m4/ltversion.m4
./autogen.sh noconfig
rm -rf autom4te.cache *~
-cd ..
+popd
diff -Nru xine-lib-$version-pruned xine-lib-$version \
| bzip2 --best > xine-lib-$version-autotools.patch.bz2
diff --git a/xine-lib.spec b/xine-lib.spec
index 865f801..5170e18 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -33,8 +33,8 @@
Summary: A multimedia engine
Name: xine-lib
-Version: 1.1.16.1
-Release: 4%{?dist}
+Version: 1.1.16.2
+Release: 1%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -56,7 +56,6 @@ Patch7: %{name}-1.1.16-old-caca.patch
Patch8: xine-lib-1.1.15-avsync_hack.patch
## upstream patches
Patch100: xine-lib-safe-audio-pause.patch
-Patch101: xine-lib-1.1.16.1-gapless_race_fix.patch
Provides: xine-lib(plugin-abi) = %{abiver}
%if "%{?_isa}" != "%{nil}"
@@ -205,7 +204,6 @@ touch -r m4/optimizations.m4.stamp m4/optimizations.m4
%patch8 -p1 -b .avsync_hack
%patch100 -p1 -b .safe_audio_pause
-%patch101 -p1 -b .gapless_race_fix
# Avoid standard rpaths on lib64 archs: (autotools patch should handle this, no? -- Rex )
#sed -i -e 's|"/lib /usr/lib\b|"/%{_lib} %{_libdir}|' configure
@@ -438,6 +436,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Tue Feb 10 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.2-1
+- xine-lib-1.1.16.2
+
* Mon Feb 09 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.1-4
- gapless-race-fix patch (kdebug#180339)
commit 86f35fbab4d5d7b48f72ec3f576b2586386e2073
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Mon Feb 9 13:42:26 2009 +0000
fix bogus typo
diff --git a/xine-lib.spec b/xine-lib.spec
index 2a29d59..865f801 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -90,7 +90,7 @@ BuildRequires: directfb-devel
BuildRequires: ImageMagick-devel >= 6.2.4.6-1
%endif # imagemagick
%if 0%{?_with_freetype:1}
-BuildRequires: fontcotnfig-devel
+BuildRequires: fontconfig-devel
%endif # freetype
# Audio
BuildRequires: alsa-lib-devel >= 0.9.0
commit 36c65a75b1d7d2345971b27c0d3b13872ce77f6d
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Mon Feb 9 13:38:55 2009 +0000
* Mon Feb 09 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.1-4
- gapless-race-fix patch (kdebug#180339)
diff --git a/xine-lib-1.1.16.1-gapless_race_fix.patch b/xine-lib-1.1.16.1-gapless_race_fix.patch
new file mode 100644
index 0000000..ec46cbf
--- /dev/null
+++ b/xine-lib-1.1.16.1-gapless_race_fix.patch
@@ -0,0 +1,144 @@
+diff -up xine-lib-1.1.16.1/src/xine-engine/audio_out.c.gapless_rate_fix xine-lib-1.1.16.1/src/xine-engine/audio_out.c
+--- xine-lib-1.1.16.1/src/xine-engine/audio_out.c.gapless_rate_fix 2009-02-09 07:30:08.000000000 -0600
++++ xine-lib-1.1.16.1/src/xine-engine/audio_out.c 2009-02-09 07:30:08.000000000 -0600
+@@ -1623,7 +1623,7 @@ static void ao_close(xine_audio_port_t *
+ pthread_mutex_unlock(&this->streams_lock);
+
+ /* close driver if no streams left */
+- if (!ite && !this->grab_only && !stream->gapless_switch) {
++ if (!ite && !this->grab_only && !stream->keep_ao_driver_open) {
+ xprintf (this->xine, XINE_VERBOSITY_DEBUG, "audio_out: no streams left, closing driver\n");
+
+ if (this->audio_loop_running) {
+diff -up xine-lib-1.1.16.1/src/xine-engine/video_decoder.c.gapless_rate_fix xine-lib-1.1.16.1/src/xine-engine/video_decoder.c
+--- xine-lib-1.1.16.1/src/xine-engine/video_decoder.c.gapless_rate_fix 2008-04-28 08:30:56.000000000 -0500
++++ xine-lib-1.1.16.1/src/xine-engine/video_decoder.c 2009-02-09 07:31:36.000000000 -0600
+@@ -160,7 +160,7 @@ static void *video_decoder_loop (void *s
+
+ running_ticket->release(running_ticket, 0);
+
+- if( !stream->gapless_switch )
++ if( !(buf->decoder_flags & BUF_FLAG_GAPLESS_SW) )
+ stream->metronom->handle_video_discontinuity (stream->metronom,
+ DISC_STREAMSTART, 0);
+
+diff -up xine-lib-1.1.16.1/src/xine-engine/xine.c.gapless_rate_fix xine-lib-1.1.16.1/src/xine-engine/xine.c
+--- xine-lib-1.1.16.1/src/xine-engine/xine.c.gapless_rate_fix 2009-02-09 07:30:08.000000000 -0600
++++ xine-lib-1.1.16.1/src/xine-engine/xine.c 2009-02-09 07:30:08.000000000 -0600
+@@ -426,6 +426,7 @@ void xine_stop (xine_stream_t *stream) {
+ static void close_internal (xine_stream_t *stream) {
+
+ int i ;
++ int gapless_switch = stream->gapless_switch;
+
+ if( stream->slave ) {
+ xine_close( stream->slave );
+@@ -436,7 +437,7 @@ static void close_internal (xine_stream_
+ }
+ }
+
+- if( !stream->gapless_switch ) {
++ if( !gapless_switch ) {
+ /* make sure that other threads cannot change the speed, especially pauseing the stream */
+ pthread_mutex_lock(&stream->speed_change_lock);
+ stream->ignore_speed_change = 1;
+@@ -452,7 +453,7 @@ static void close_internal (xine_stream_
+
+ stop_internal( stream );
+
+- if( !stream->gapless_switch ) {
++ if( !gapless_switch ) {
+ if (stream->video_out)
+ stream->video_out->set_property(stream->video_out, VO_PROP_DISCARD_FRAMES, 0);
+ if (stream->audio_out)
+@@ -603,6 +604,7 @@ xine_stream_t *xine_stream_new (xine_t *
+ stream->early_finish_event = 0;
+ stream->delay_finish_event = 0;
+ stream->gapless_switch = 0;
++ stream->keep_ao_driver_open = 0;
+
+ stream->video_out = vo;
+ if (vo)
+diff -up xine-lib-1.1.16.1/src/xine-engine/buffer.h.gapless_rate_fix xine-lib-1.1.16.1/src/xine-engine/buffer.h
+--- xine-lib-1.1.16.1/src/xine-engine/buffer.h.gapless_rate_fix 2009-01-10 19:25:34.000000000 -0600
++++ xine-lib-1.1.16.1/src/xine-engine/buffer.h 2009-02-09 07:30:08.000000000 -0600
+@@ -378,6 +378,9 @@ struct buf_element_s {
+ * decoder_info[2] carries denominator for display aspect ratio */
+ #define BUF_FLAG_ASPECT 0x0800
+
++/* represent the state of gapless_switch at the time buf was enqueued */
++#define BUF_FLAG_GAPLESS_SW 0x1000
++
+
+ /* Special buffer types:
+ * Sometimes there is a need to relay special information from a demuxer
+diff -up xine-lib-1.1.16.1/src/xine-engine/demux.c.gapless_rate_fix xine-lib-1.1.16.1/src/xine-engine/demux.c
+--- xine-lib-1.1.16.1/src/xine-engine/demux.c.gapless_rate_fix 2009-01-10 19:25:34.000000000 -0600
++++ xine-lib-1.1.16.1/src/xine-engine/demux.c 2009-02-09 07:30:08.000000000 -0600
+@@ -228,15 +228,18 @@ void _x_demux_control_headers_done (xine
+ void _x_demux_control_start( xine_stream_t *stream ) {
+
+ buf_element_t *buf;
++ uint32_t flags = (stream->gapless_switch) ? BUF_FLAG_GAPLESS_SW : 0;
+
+ pthread_mutex_lock(&stream->demux_mutex);
+
+ buf = stream->video_fifo->buffer_pool_alloc (stream->video_fifo);
+ buf->type = BUF_CONTROL_START;
++ buf->decoder_flags = flags;
+ stream->video_fifo->put (stream->video_fifo, buf);
+
+ buf = stream->audio_fifo->buffer_pool_alloc (stream->audio_fifo);
+ buf->type = BUF_CONTROL_START;
++ buf->decoder_flags = flags;
+ stream->audio_fifo->put (stream->audio_fifo, buf);
+
+ pthread_mutex_unlock(&stream->demux_mutex);
+diff -up xine-lib-1.1.16.1/src/xine-engine/audio_decoder.c.gapless_rate_fix xine-lib-1.1.16.1/src/xine-engine/audio_decoder.c
+--- xine-lib-1.1.16.1/src/xine-engine/audio_decoder.c.gapless_rate_fix 2008-04-28 08:30:56.000000000 -0500
++++ xine-lib-1.1.16.1/src/xine-engine/audio_decoder.c 2009-02-09 07:30:08.000000000 -0600
+@@ -89,16 +89,18 @@ static void *audio_decoder_loop (void *s
+ if (stream->audio_decoder_plugin) {
+
+ lprintf ("close old decoder\n");
+-
++
++ stream->keep_ao_driver_open = !!(buf->decoder_flags & BUF_FLAG_GAPLESS_SW);
+ _x_free_audio_decoder (stream, stream->audio_decoder_plugin);
+ stream->audio_decoder_plugin = NULL;
+ stream->audio_track_map_entries = 0;
+ stream->audio_type = 0;
++ stream->keep_ao_driver_open = 0;
+ }
+
+ running_ticket->release(running_ticket, 0);
+
+- if( !stream->gapless_switch )
++ if( !(buf->decoder_flags & BUF_FLAG_GAPLESS_SW) )
+ stream->metronom->handle_audio_discontinuity (stream->metronom, DISC_STREAMSTART, 0);
+
+ buftype_unknown = 0;
+diff -up xine-lib-1.1.16.1/src/xine-engine/xine_interface.c.gapless_rate_fix xine-lib-1.1.16.1/src/xine-engine/xine_interface.c
+--- xine-lib-1.1.16.1/src/xine-engine/xine_interface.c.gapless_rate_fix 2008-07-12 17:52:01.000000000 -0500
++++ xine-lib-1.1.16.1/src/xine-engine/xine_interface.c 2009-02-09 07:30:08.000000000 -0600
+@@ -527,6 +527,9 @@ void xine_set_param (xine_stream_t *stre
+
+ case XINE_PARAM_GAPLESS_SWITCH:
+ stream->gapless_switch = !!value;
++ if( stream->gapless_switch && !stream->early_finish_event ) {
++ xprintf (stream->xine, XINE_VERBOSITY_DEBUG, "frontend possibly buggy: gapless_switch without early_finish_event\n");
++ }
+ break;
+
+ default:
+diff -up xine-lib-1.1.16.1/src/xine-engine/xine_internal.h.gapless_rate_fix xine-lib-1.1.16.1/src/xine-engine/xine_internal.h
+--- xine-lib-1.1.16.1/src/xine-engine/xine_internal.h.gapless_rate_fix 2008-08-24 16:51:15.000000000 -0500
++++ xine-lib-1.1.16.1/src/xine-engine/xine_internal.h 2009-02-09 07:30:08.000000000 -0600
+@@ -361,6 +361,7 @@ struct xine_stream_s {
+ int early_finish_event; /* do not wait fifos get empty before sending event */
+ int gapless_switch; /* next stream switch will be gapless */
+ int delay_finish_event; /* delay event in 1/10 sec units. 0=>no delay, -1=>forever */
++ int keep_ao_driver_open;
+ #endif
+ };
+
diff --git a/xine-lib.spec b/xine-lib.spec
index 5e94b77..2a29d59 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -34,7 +34,7 @@
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.16.1
-Release: 3%{?dist}
+Release: 4%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -56,6 +56,7 @@ Patch7: %{name}-1.1.16-old-caca.patch
Patch8: xine-lib-1.1.15-avsync_hack.patch
## upstream patches
Patch100: xine-lib-safe-audio-pause.patch
+Patch101: xine-lib-1.1.16.1-gapless_race_fix.patch
Provides: xine-lib(plugin-abi) = %{abiver}
%if "%{?_isa}" != "%{nil}"
@@ -89,7 +90,7 @@ BuildRequires: directfb-devel
BuildRequires: ImageMagick-devel >= 6.2.4.6-1
%endif # imagemagick
%if 0%{?_with_freetype:1}
-BuildRequires: fontconfig-devel
+BuildRequires: fontcotnfig-devel
%endif # freetype
# Audio
BuildRequires: alsa-lib-devel >= 0.9.0
@@ -204,6 +205,7 @@ touch -r m4/optimizations.m4.stamp m4/optimizations.m4
%patch8 -p1 -b .avsync_hack
%patch100 -p1 -b .safe_audio_pause
+%patch101 -p1 -b .gapless_race_fix
# Avoid standard rpaths on lib64 archs: (autotools patch should handle this, no? -- Rex )
#sed -i -e 's|"/lib /usr/lib\b|"/%{_lib} %{_libdir}|' configure
@@ -237,7 +239,6 @@ export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)"
--with-external-ffmpeg \
--with-xv-path=%{_libdir} \
--with-libflac \
- --with-external-libdvdnav \
--with-external-libmpcdec \
%if 0%{?_without_imagemagick:1}
--without-imagemagick \
@@ -437,8 +438,11 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Mon Feb 09 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.1-4
+- gapless-race-fix patch (kdebug#180339)
+
* Sat Feb 07 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.1-3
-- safe-audio-pause patch
+- safe-audio-pause patch (kdebug#180339)
* Mon Jan 26 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.1-2
- Provides: xine-lib(plugin-abi)%%{?_isa} = %%{abiver}
commit f2a263d5548faa3717da815fd11d78535349777f
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Sat Feb 7 19:29:38 2009 +0000
* Sat Feb 07 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.1-3
- safe-audio-pause patch
diff --git a/xine-lib-safe-audio-pause.patch b/xine-lib-safe-audio-pause.patch
new file mode 100644
index 0000000..4a4b70b
--- /dev/null
+++ b/xine-lib-safe-audio-pause.patch
@@ -0,0 +1,122 @@
+diff -r ce4b1533a0af src/xine-engine/audio_out.c
+--- a/src/xine-engine/audio_out.c Sun Jan 11 22:24:42 2009 +0000
++++ b/src/xine-engine/audio_out.c Sat Feb 07 15:09:24 2009 -0200
+@@ -243,6 +243,7 @@
+ audio_fifo_t *free_fifo;
+ audio_fifo_t *out_fifo;
+ int64_t last_audio_vpts;
++ pthread_mutex_t current_speed_lock;
+ uint32_t current_speed; /* the current playback speed */
+ /* FIXME: replace all this->clock->speed with this->current_speed. we should make
+ * sure nobody will change speed without going through xine.c:set_speed_internal */
+@@ -1040,6 +1041,7 @@
+ * we must process/free buffers otherwise the entire engine will stop.
+ */
+
++ pthread_mutex_lock(&this->current_speed_lock);
+ if ( this->audio_loop_running &&
+ (this->clock->speed == XINE_SPEED_PAUSE ||
+ (this->clock->speed != XINE_FINE_SPEED_NORMAL &&
+@@ -1055,6 +1057,7 @@
+ _x_refcounter_dec(in_buf->stream->refcounter);
+ fifo_append (this->free_fifo, in_buf);
+ in_buf = NULL;
++ pthread_mutex_unlock(&this->current_speed_lock);
+ continue;
+ }
+
+@@ -1065,6 +1068,7 @@
+ }
+
+ lprintf ("loop:pause: I feel sleepy (%d buffers).\n", this->out_fifo->num_buffers);
++ pthread_mutex_unlock(&this->current_speed_lock);
+ xine_usec_sleep (10000);
+ lprintf ("loop:pause: I wake up.\n");
+ continue;
+@@ -1274,6 +1278,7 @@
+ fifo_append (this->free_fifo, in_buf);
+ in_buf = NULL;
+ }
++ pthread_mutex_unlock(&this->current_speed_lock);
+
+ /* Give other threads a chance to use functions which require this->driver_lock to
+ * be available. This is needed when using NPTL on Linux (and probably PThreads
+@@ -1684,6 +1689,7 @@
+ free (this->frame_buf[1]);
+ free (this->zero_space);
+
++ pthread_mutex_destroy(&this->current_speed_lock);
+ pthread_mutex_destroy(&this->flush_audio_driver_lock);
+ pthread_cond_destroy(&this->flush_audio_driver_reached);
+
+@@ -1910,11 +1916,15 @@
+ if (value != XINE_FINE_SPEED_NORMAL && value != XINE_SPEED_PAUSE && !this->slow_fast_audio )
+ this->ao.control(&this->ao, AO_CTRL_FLUSH_BUFFERS, NULL);
+
++ /* current_speed_lock is here to make sure the ao_loop will pause in a safe place.
++ * that is, we cannot pause writing to device, filling gaps etc. */
++ pthread_mutex_lock(&this->current_speed_lock);
+ this->ao.control(&this->ao,
+ (value == XINE_SPEED_PAUSE) ? AO_CTRL_PLAY_PAUSE : AO_CTRL_PLAY_RESUME, NULL);
+ this->current_speed = value;
+ if( this->slow_fast_audio )
+ ao_update_resample_factor(this);
++ pthread_mutex_unlock(&this->current_speed_lock);
+ break;
+
+ default:
+@@ -2056,6 +2066,7 @@
+ this->driver = driver;
+ this->xine = xine;
+ this->clock = xine->clock;
++ this->current_speed = xine->clock->speed;
+ this->streams = xine_list_new();
+
+ /* warning: driver_lock is a recursive mutex. it must NOT be
+@@ -2087,6 +2098,7 @@
+ this->discard_buffers = 0;
+ this->zero_space = calloc (1, ZERO_BUF_SIZE * 4 * 6); /* MAX as 32bit, 6 channels. */
+
++ pthread_mutex_init( &this->current_speed_lock, NULL );
+ pthread_mutex_init( &this->flush_audio_driver_lock, NULL );
+ pthread_cond_init( &this->flush_audio_driver_reached, NULL );
+
+diff -r ce4b1533a0af src/xine-engine/xine.c
+--- a/src/xine-engine/xine.c Sun Jan 11 22:24:42 2009 +0000
++++ b/src/xine-engine/xine.c Sat Feb 07 15:09:25 2009 -0200
+@@ -330,17 +330,20 @@
+
+ static void set_speed_internal (xine_stream_t *stream, int speed) {
+ xine_t *xine = stream->xine;
++ int old_speed = xine->clock->speed;
+
+- if (xine->clock->speed != XINE_SPEED_PAUSE && speed == XINE_SPEED_PAUSE)
++ if (old_speed != XINE_SPEED_PAUSE && speed == XINE_SPEED_PAUSE)
+ /* get all decoder and post threads in a state where they agree to be blocked */
+ xine->port_ticket->revoke(xine->port_ticket, 0);
+
+- if (xine->clock->speed == XINE_SPEED_PAUSE && speed != XINE_SPEED_PAUSE)
++ if (old_speed == XINE_SPEED_PAUSE && speed != XINE_SPEED_PAUSE)
+ /* all decoder and post threads may continue now */
+ xine->port_ticket->issue(xine->port_ticket, 0);
+
+- stream->xine->clock->set_fine_speed (stream->xine->clock, speed);
+-
++ if (old_speed != XINE_SPEED_PAUSE && speed == XINE_SPEED_PAUSE)
++ /* set master clock so audio_out loop can pause in a safe place */
++ stream->xine->clock->set_fine_speed (stream->xine->clock, speed);
++
+ /* see coment on audio_out loop about audio_paused */
+ if( stream->audio_out ) {
+ xine->port_ticket->acquire(xine->port_ticket, 1);
+@@ -350,6 +353,10 @@
+
+ xine->port_ticket->release(xine->port_ticket, 1);
+ }
++
++ if (old_speed == XINE_SPEED_PAUSE && speed != XINE_SPEED_PAUSE)
++ /* master clock is set after resuming the audio device (audio_out loop may continue) */
++ stream->xine->clock->set_fine_speed (stream->xine->clock, speed);
+ }
+
+
diff --git a/xine-lib.spec b/xine-lib.spec
index 7fc7a08..5e94b77 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -34,7 +34,7 @@
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.16.1
-Release: 2%{?dist}
+Release: 3%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -55,6 +55,7 @@ Patch7: %{name}-1.1.16-old-caca.patch
# http://bugzilla.redhat.com/470568
Patch8: xine-lib-1.1.15-avsync_hack.patch
## upstream patches
+Patch100: xine-lib-safe-audio-pause.patch
Provides: xine-lib(plugin-abi) = %{abiver}
%if "%{?_isa}" != "%{nil}"
@@ -202,6 +203,8 @@ touch -r m4/optimizations.m4.stamp m4/optimizations.m4
%patch8 -p1 -b .avsync_hack
+%patch100 -p1 -b .safe_audio_pause
+
# Avoid standard rpaths on lib64 archs: (autotools patch should handle this, no? -- Rex )
#sed -i -e 's|"/lib /usr/lib\b|"/%{_lib} %{_libdir}|' configure
@@ -434,6 +437,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Sat Feb 07 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.1-3
+- safe-audio-pause patch
+
* Mon Jan 26 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.1-2
- Provides: xine-lib(plugin-abi)%%{?_isa} = %%{abiver}
- touchup Summary/Description
commit 39485d1605ba511f6c042980450d6ab6321c093d
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Mon Jan 26 16:58:47 2009 +0000
* Mon Jan 26 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.1-2
- Provides: xine-lib(plugin-abi)%{?_isa} = %{abiver}
- touchup Summary/Description
diff --git a/xine-lib.spec b/xine-lib.spec
index c8a0f1a..7fc7a08 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -31,10 +31,10 @@
%define _without_arts --without-arts
%endif
-Summary: Xine library
+Summary: A multimedia engine
Name: xine-lib
Version: 1.1.16.1
-Release: 1%{?dist}
+Release: 2%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -57,6 +57,9 @@ Patch8: xine-lib-1.1.15-avsync_hack.patch
## upstream patches
Provides: xine-lib(plugin-abi) = %{abiver}
+%if "%{?_isa}" != "%{nil}"
+Provides: xine-lib(plugin-abi)%{?_isa} = %{abiver}
+%endif
# X11
BuildRequires: libX11-devel
BuildRequires: libXv-devel
@@ -119,13 +122,10 @@ BuildRequires: samba-common
BuildRequires: libdvdnav-devel
%description
-This package contains the Xine library. Xine is a free multimedia player.
-It can play back various media. It also decodes multimedia files from local
-disk drives, and displays multimedia streamed over the Internet. It
-interprets many of the most common multimedia formats available - and some
-of the most uncommon formats, too. --with/--without rpmbuild options
-(some default values depend on target distribution): aalib, directfb,
-imagemagick, freetype, antialiasing (with freetype), pulseaudio, xcb.
+This package contains the Xine library. It can be used to play back
+various media, decode multimedia files from local disk drives, and display
+multimedia streamed over the Internet. It interprets many of the most
+common multimedia formats available - and some uncommon formats, too.
%package devel
Summary: Xine library development files
@@ -135,10 +135,10 @@ Requires: pkgconfig
Requires: zlib-devel
%description devel
-This package contains development files for xine-lib.
+This package contains development files for %{name}.
%package arts
-Summary: aRts plugin for xine-lib
+Summary: aRts plugin for %{name}
Group: System Environment/Libraries
Requires: %{name} = %{version}-%{release}
#Requires: xine-lib(plugin-abi) = %{abiver}
@@ -146,27 +146,27 @@ Requires: %{name} = %{version}-%{release}
Obsoletes: xine-lib-extras < 1.1.7-3
%description arts
-This package contains the aRts extra plugin for xine-lib.
+This package contains the aRts plugin for %{name}.
%package pulseaudio
-Summary: Pulseaudio plugin for xine-lib
+Summary: Pulseaudio plugin for %{name}
Group: System Environment/Libraries
Requires: %{name} = %{version}-%{release}
# -pulseaudio was split off -extras at 1.1.11.1-2
#Obsoletes: xine-lib-extras < 1.1.11.1-2
%description pulseaudio
-This package contains the pulseaudio plugin for xine-lib.
+This package contains the pulseaudio plugin for %{name}.
%package extras
-Summary: Additional plugins for xine-lib
+Summary: Additional plugins for %{name}
Group: System Environment/Libraries
Requires: %{name} = %{version}-%{release}
#Requires: xine-lib(plugin-abi) = %{abiver}
%description extras
-This package contains extra plugins for xine-lib:
+This package contains extra plugins for %{name}:
- EsounD
- JACK
- GDK-Pixbuf
@@ -434,6 +434,10 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Mon Jan 26 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.1-2
+- Provides: xine-lib(plugin-abi)%%{?_isa} = %%{abiver}
+- touchup Summary/Description
+
* Fri Jan 23 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.1-1
- xine-lib-1.1.16.1
- include avsync patch (#470568)
commit 831b4c0a6ce959d76279ed2f9d4d79153c2895ee
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Fri Jan 23 14:32:05 2009 +0000
* Fri Jan 23 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.1-1
- xine-lib-1.1.16.1
- include avsync patch (#470568)
diff --git a/.cvsignore b/.cvsignore
index 606b324..34a3b02 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -1,2 +1,2 @@
-xine-lib-1.1.16-autotools.patch.bz2
-xine-lib-1.1.16-pruned.tar.bz2
+xine-lib-1.1.16.1-autotools.patch.bz2
+xine-lib-1.1.16.1-pruned.tar.bz2
diff --git a/sources b/sources
index f89d6ad..9a7e9c8 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-fe8148f2a0ec7b2e75ad509e8086e33f xine-lib-1.1.16-autotools.patch.bz2
-512f31d8414ef4654ca366c0dce37301 xine-lib-1.1.16-pruned.tar.bz2
+e3e061f93f36eae910b66cb0c973dbb8 xine-lib-1.1.16.1-autotools.patch.bz2
+aa1265b1007086c0906ec8134cfeacf6 xine-lib-1.1.16.1-pruned.tar.bz2
diff --git a/xine-lib-1.1.15-avsync_hack.patch b/xine-lib-1.1.15-avsync_hack.patch
new file mode 100644
index 0000000..f33aba4
--- /dev/null
+++ b/xine-lib-1.1.15-avsync_hack.patch
@@ -0,0 +1,22 @@
+diff -uNr xine-lib-1.1.15.orig/src/xine-engine/audio_out.c xine-lib-1.1.15/src/xine-engine/audio_out.c
+--- xine-lib-1.1.15.orig/src/xine-engine/audio_out.c 2008-07-10 18:19:10.000000000 +0200
++++ xine-lib-1.1.15/src/xine-engine/audio_out.c 2009-01-10 21:57:20.000000000 +0100
+@@ -1151,8 +1151,17 @@
+
+ /*
+ * calculate gap:
++ *
++ * HACK (rwa): If we have no video stream we do not need an AV sync and so
++ * we assume a gap of 0. This seems to avoid the skips in the
++ * first seconds when playing audio-only via the "glitch-free"
++ * pulseaudio server.
+ */
+- gap = in_buf->vpts - hw_vpts;
++ if (in_buf && in_buf->stream && in_buf->stream->video_decoder_plugin) {
++ gap = in_buf->vpts - hw_vpts;
++ } else {
++ gap = 0;
++ }
+ lprintf ("hw_vpts : %" PRId64 " buffer_vpts : %" PRId64 " gap : %" PRId64 "\n",
+ hw_vpts, in_buf->vpts, gap);
+
diff --git a/xine-lib.spec b/xine-lib.spec
index 04f68fc..c8a0f1a 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -33,8 +33,8 @@
Summary: Xine library
Name: xine-lib
-Version: 1.1.16
-Release: 2%{?dist}
+Version: 1.1.16.1
+Release: 1%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -50,7 +50,10 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Patch1: %{name}-1.1.4-optflags.patch
Patch6: %{name}-1.1.1-deepbind-939.patch
+# FIXME for 1.1.16.1 ?
Patch7: %{name}-1.1.16-old-caca.patch
+# http://bugzilla.redhat.com/470568
+Patch8: xine-lib-1.1.15-avsync_hack.patch
## upstream patches
Provides: xine-lib(plugin-abi) = %{abiver}
@@ -73,7 +76,7 @@ BuildRequires: aalib-devel >= 1.4
%if 0%{?old_caca}
BuildRequires: libcaca-devel >= 0.99
%else
-BuildRequires: libcaca-devel >= 0.99-0.5.beta16
+BuildRequires: libcaca-devel >= 0.99-0.5.beta14
%endif
%if 0%{!?_without_directfb:1}
BuildRequires: directfb-devel
@@ -192,10 +195,13 @@ touch -r m4/optimizations.m4.stamp m4/optimizations.m4
# needed at least when compiling with external ffmpeg and internal faad livna bug#939.
# see also http://bugzilla.redhat.com/480504 for side-effects
#patch6 -p1 -b .deepbind
+
%if 0%{?old_caca}
%patch7 -p0 -b .old-caca
%endif
+%patch8 -p1 -b .avsync_hack
+
# Avoid standard rpaths on lib64 archs: (autotools patch should handle this, no? -- Rex )
#sed -i -e 's|"/lib /usr/lib\b|"/%{_lib} %{_libdir}|' configure
@@ -428,6 +434,10 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Fri Jan 23 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.1-1
+- xine-lib-1.1.16.1
+- include avsync patch (#470568)
+
* Sun Jan 18 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16-2
- drop deepbind patch (#480504)
- caca support (EPEL)
commit 57d454e4f28f8a375da8f8f374fadec18221030e
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Sun Jan 18 22:33:17 2009 +0000
make caca support unconditional
diff --git a/xine-lib.spec b/xine-lib.spec
index 7029552..04f68fc 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -19,12 +19,10 @@
%if 0%{?fedora}
%define with_aalib %{?_without_aalib:0}%{!?_without_aalib:1}
- %define with_caca %{?_without_caca:0}%{!?_without_caca:1}
%define with_pa %{?_without_pulseaudio:0}%{!?_without_pulseaudio:1}
%define with_xcb %{?_without_xcb:0}%{!?_without_xcb:1}
%else
%define with_aalib %{?_with_aalib:1}%{!?_with_aalib:0}
- %define with_caca %{?_with_caca:1}%{!?_with_caca:0}
%define with_pa %{?_with_pulseaudio:1}%{!?_with_pulseaudio:0}
%define with_xcb %{?_with_xcb:1}%{!?_with_xcb:0}
%endif # Fedora
@@ -72,13 +70,11 @@ BuildRequires: libmng-devel
%if %{with_aalib}
BuildRequires: aalib-devel >= 1.4
%endif # aalib
-%if %{with_caca}
%if 0%{?old_caca}
BuildRequires: libcaca-devel >= 0.99
%else
BuildRequires: libcaca-devel >= 0.99-0.5.beta16
%endif
-%endif # caca
%if 0%{!?_without_directfb:1}
BuildRequires: directfb-devel
%endif # directfb
@@ -125,7 +121,7 @@ It can play back various media. It also decodes multimedia files from local
disk drives, and displays multimedia streamed over the Internet. It
interprets many of the most common multimedia formats available - and some
of the most uncommon formats, too. --with/--without rpmbuild options
-(some default values depend on target distribution): aalib, caca, directfb,
+(some default values depend on target distribution): aalib, directfb,
imagemagick, freetype, antialiasing (with freetype), pulseaudio, xcb.
%package devel
@@ -177,9 +173,7 @@ This package contains extra plugins for xine-lib:
%if %{with_aalib}
- AA-lib
%endif # aalib
-%if %{with_caca}
- Libcaca
-%endif # caca
%if 0%{!?_without_imagemagick:1}
- Image decoding
%endif # imagemagick
@@ -226,6 +220,7 @@ export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)"
%if 0%{?_with_freetype:1}
%if 0%{?_with_antialiasing:1}
--enable-antialiasing \
+ --with-caca \
%endif # antialiasing
--with-freetype \
--with-fontconfig \
@@ -411,9 +406,7 @@ rm -rf $RPM_BUILD_ROOT
%if %{with_aalib}
%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_aa.so
%endif # aalib
-%if %{with_caca}
%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_caca.so
-%endif # caca
%if 0%{!?_without_directfb:1}
%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_directfb.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_xdirectfb.so
@@ -437,6 +430,7 @@ rm -rf $RPM_BUILD_ROOT
%changelog
* Sun Jan 18 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16-2
- drop deepbind patch (#480504)
+- caca support (EPEL)
* Wed Jan 07 2009 Kevin Kofler <Kevin(a)tigcc.ticalc.org> - 1.1.16-1.1
- patch for old libcaca in F9-
commit d117d577feaabdbc4a24b4907b0707cdf1d92e04
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Sun Jan 18 21:01:33 2009 +0000
* Sun Jan 18 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16-2
- drop deepbind patch (#480504)
diff --git a/xine-lib.spec b/xine-lib.spec
index eaffe59..7029552 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -36,7 +36,7 @@
Summary: Xine library
Name: xine-lib
Version: 1.1.16
-Release: 1%{?dist}.1
+Release: 2%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -195,8 +195,9 @@ touch -r configure.ac aclocal.m4
touch -r m4/optimizations.m4 m4/optimizations.m4.stamp
%patch1 -p1 -b .optflags
touch -r m4/optimizations.m4.stamp m4/optimizations.m4
-# Patch6 needed at least when compiling with external ffmpeg, #939.
-%patch6 -p1 -b .deepbind
+# needed at least when compiling with external ffmpeg and internal faad livna bug#939.
+# see also http://bugzilla.redhat.com/480504 for side-effects
+#patch6 -p1 -b .deepbind
%if 0%{?old_caca}
%patch7 -p0 -b .old-caca
%endif
@@ -434,6 +435,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Sun Jan 18 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16-2
+- drop deepbind patch (#480504)
+
* Wed Jan 07 2009 Kevin Kofler <Kevin(a)tigcc.ticalc.org> - 1.1.16-1.1
- patch for old libcaca in F9-
commit e40e45100db48d6f23bad67b071d6c745ba1d0bc
Author: Kevin Kofler <kkofler(a)fedoraproject.org>
Date: Wed Jan 7 23:14:29 2009 +0000
* Wed Jan 07 2009 Kevin Kofler <Kevin(a)tigcc.ticalc.org> - 1.1.16-1.1
- patch for old libcaca in F9-
diff --git a/xine-lib-1.1.16-old-caca.patch b/xine-lib-1.1.16-old-caca.patch
new file mode 100644
index 0000000..5a149a9
--- /dev/null
+++ b/xine-lib-1.1.16-old-caca.patch
@@ -0,0 +1,27 @@
+--- src/video_out/video_out_caca.c Tue Nov 18 21:13:55 2008 +0100
++++ src/video_out/video_out_caca.c Mon Nov 10 16:33:51 2008 +0100
+@@ -276,7 +276,6 @@ static int caca_redraw_needed (vo_driver
+
+ static vo_driver_t *open_plugin (video_driver_class_t *class_gen, const void *visual_gen) {
+ caca_class_t *class = (caca_class_t *) class_gen;
+- caca_display_t *dp = (caca_display_t *)visual_gen;
+ caca_driver_t *this;
+
+ this = calloc(1, sizeof (caca_driver_t));
+@@ -301,13 +300,8 @@ static vo_driver_t *open_plugin (video_d
+ this->yuv2rgb_factory = yuv2rgb_factory_init(MODE_32_RGB, 0, NULL);
+ this->yuv2rgb_factory->set_csc_levels(this->yuv2rgb_factory, 0, 128, 128);
+
+- if (dp) {
+- this->cv = caca_get_canvas(dp);
+- this->dp = dp;
+- } else {
+- this->cv = cucul_create_canvas(0, 0);
+- this->dp = caca_create_display(this->cv);
+- }
++ this->cv = cucul_create_canvas(0, 0);
++ this->dp = caca_create_display(this->cv);
+
+ caca_refresh_display(this->dp);
+ return &this->vo_driver;
+
diff --git a/xine-lib.spec b/xine-lib.spec
index 1a1756e..eaffe59 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -13,16 +13,18 @@
%define have_vidix 0
%endif # ix86
-%if 0%{?fedora} > 9
-%define _with_caca --with-caca
+%if 0%{?fedora} <= 9
+ %define old_caca 1
%endif
%if 0%{?fedora}
%define with_aalib %{?_without_aalib:0}%{!?_without_aalib:1}
+ %define with_caca %{?_without_caca:0}%{!?_without_caca:1}
%define with_pa %{?_without_pulseaudio:0}%{!?_without_pulseaudio:1}
%define with_xcb %{?_without_xcb:0}%{!?_without_xcb:1}
%else
%define with_aalib %{?_with_aalib:1}%{!?_with_aalib:0}
+ %define with_caca %{?_with_caca:1}%{!?_with_caca:0}
%define with_pa %{?_with_pulseaudio:1}%{!?_with_pulseaudio:0}
%define with_xcb %{?_with_xcb:1}%{!?_with_xcb:0}
%endif # Fedora
@@ -34,7 +36,7 @@
Summary: Xine library
Name: xine-lib
Version: 1.1.16
-Release: 1%{?dist}
+Release: 1%{?dist}.1
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -50,6 +52,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Patch1: %{name}-1.1.4-optflags.patch
Patch6: %{name}-1.1.1-deepbind-939.patch
+Patch7: %{name}-1.1.16-old-caca.patch
## upstream patches
Provides: xine-lib(plugin-abi) = %{abiver}
@@ -69,8 +72,12 @@ BuildRequires: libmng-devel
%if %{with_aalib}
BuildRequires: aalib-devel >= 1.4
%endif # aalib
-%if 0%{?_with_caca:1}
-BuildRequires: libcaca-devel >= 0.99-0.5.beta16
+%if %{with_caca}
+%if 0%{?old_caca}
+BuildRequires: libcaca-devel >= 0.99
+%else
+BuildRequires: libcaca-devel >= 0.99-0.5.beta16
+%endif
%endif # caca
%if 0%{!?_without_directfb:1}
BuildRequires: directfb-devel
@@ -170,7 +177,7 @@ This package contains extra plugins for xine-lib:
%if %{with_aalib}
- AA-lib
%endif # aalib
-%if 0%{?_with_caca:1}
+%if %{with_caca}
- Libcaca
%endif # caca
%if 0%{!?_without_imagemagick:1}
@@ -190,6 +197,9 @@ touch -r m4/optimizations.m4 m4/optimizations.m4.stamp
touch -r m4/optimizations.m4.stamp m4/optimizations.m4
# Patch6 needed at least when compiling with external ffmpeg, #939.
%patch6 -p1 -b .deepbind
+%if 0%{?old_caca}
+%patch7 -p0 -b .old-caca
+%endif
# Avoid standard rpaths on lib64 archs: (autotools patch should handle this, no? -- Rex )
#sed -i -e 's|"/lib /usr/lib\b|"/%{_lib} %{_libdir}|' configure
@@ -227,7 +237,6 @@ export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)"
%if 0%{?_without_imagemagick:1}
--without-imagemagick \
%endif # imagemagick
- %{?_with_caca} %{!?_with_caca:--without-caca} \
%{!?_without_arts:--with-arts} %{?_without_arts} \
--with-wavpack \
--with-real-codecs-path=%{codecdir} \
@@ -401,7 +410,7 @@ rm -rf $RPM_BUILD_ROOT
%if %{with_aalib}
%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_aa.so
%endif # aalib
-%if 0%{?_with_caca:1}
+%if %{with_caca}
%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_caca.so
%endif # caca
%if 0%{!?_without_directfb:1}
@@ -425,6 +434,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Wed Jan 07 2009 Kevin Kofler <Kevin(a)tigcc.ticalc.org> - 1.1.16-1.1
+- patch for old libcaca in F9-
+
* Wed Jan 07 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16-1
- xine-lib-1.1.16, plugin ABI 1.25
- --with-external-libdvdnav, include mpeg demuxers (#213597)
commit 7f8916426460da3d518ac0973157ee157a2b9e8e
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Wed Jan 7 21:28:55 2009 +0000
fix thinko'd typo-fix (are we there yet?)
diff --git a/xine-lib.spec b/xine-lib.spec
index 20aa7d8..1a1756e 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -401,7 +401,7 @@ rm -rf $RPM_BUILD_ROOT
%if %{with_aalib}
%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_aa.so
%endif # aalib
-%if 0%{?_with_caca}
+%if 0%{?_with_caca:1}
%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_caca.so
%endif # caca
%if 0%{!?_without_directfb:1}
commit 9a63bfe8ef943d282a33134321cb6debccd69180
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Wed Jan 7 21:20:33 2009 +0000
typo
diff --git a/xine-lib.spec b/xine-lib.spec
index 757046b..20aa7d8 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -170,7 +170,7 @@ This package contains extra plugins for xine-lib:
%if %{with_aalib}
- AA-lib
%endif # aalib
-%if 0%{?with_caca:1}
+%if 0%{?_with_caca:1}
- Libcaca
%endif # caca
%if 0%{!?_without_imagemagick:1}
commit fcf3303c5cf257561c9cee290338e1961b0cf141
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Wed Jan 7 21:17:12 2009 +0000
enable caca for f10+ only
diff --git a/xine-lib.spec b/xine-lib.spec
index a44c7c5..757046b 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -13,14 +13,16 @@
%define have_vidix 0
%endif # ix86
+%if 0%{?fedora} > 9
+%define _with_caca --with-caca
+%endif
+
%if 0%{?fedora}
%define with_aalib %{?_without_aalib:0}%{!?_without_aalib:1}
- %define with_caca %{?_without_caca:0}%{!?_without_caca:1}
%define with_pa %{?_without_pulseaudio:0}%{!?_without_pulseaudio:1}
%define with_xcb %{?_without_xcb:0}%{!?_without_xcb:1}
%else
%define with_aalib %{?_with_aalib:1}%{!?_with_aalib:0}
- %define with_caca %{?_with_caca:1}%{!?_with_caca:0}
%define with_pa %{?_with_pulseaudio:1}%{!?_with_pulseaudio:0}
%define with_xcb %{?_with_xcb:1}%{!?_with_xcb:0}
%endif # Fedora
@@ -67,7 +69,7 @@ BuildRequires: libmng-devel
%if %{with_aalib}
BuildRequires: aalib-devel >= 1.4
%endif # aalib
-%if %{with_caca}
+%if 0%{?_with_caca:1}
BuildRequires: libcaca-devel >= 0.99-0.5.beta16
%endif # caca
%if 0%{!?_without_directfb:1}
@@ -168,7 +170,7 @@ This package contains extra plugins for xine-lib:
%if %{with_aalib}
- AA-lib
%endif # aalib
-%if %{with_caca}
+%if 0%{?with_caca:1}
- Libcaca
%endif # caca
%if 0%{!?_without_imagemagick:1}
@@ -225,6 +227,7 @@ export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)"
%if 0%{?_without_imagemagick:1}
--without-imagemagick \
%endif # imagemagick
+ %{?_with_caca} %{!?_with_caca:--without-caca} \
%{!?_without_arts:--with-arts} %{?_without_arts} \
--with-wavpack \
--with-real-codecs-path=%{codecdir} \
@@ -398,7 +401,7 @@ rm -rf $RPM_BUILD_ROOT
%if %{with_aalib}
%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_aa.so
%endif # aalib
-%if %{with_caca}
+%if 0%{?_with_caca}
%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_caca.so
%endif # caca
%if 0%{!?_without_directfb:1}
commit a2ef3acb419f4bdc111299aab3535a8c642815a3
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Wed Jan 7 21:03:28 2009 +0000
ugh, looks like caca support needs libcaca-devel >= 0.99-0.5.beta16
diff --git a/xine-lib.spec b/xine-lib.spec
index 3aad4b6..a44c7c5 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -68,7 +68,7 @@ BuildRequires: libmng-devel
BuildRequires: aalib-devel >= 1.4
%endif # aalib
%if %{with_caca}
-BuildRequires: libcaca-devel >= 0.99
+BuildRequires: libcaca-devel >= 0.99-0.5.beta16
%endif # caca
%if 0%{!?_without_directfb:1}
BuildRequires: directfb-devel
commit da4731bb02ed4677291257501a07b8b7c37c995f
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Wed Jan 7 20:08:32 2009 +0000
fix failure for awol ffmpeg
diff --git a/xine-lib.spec b/xine-lib.spec
index e95a56c..3aad4b6 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -196,6 +196,7 @@ touch -r m4/optimizations.m4.stamp m4/optimizations.m4
%build
export FFMPEG_CFLAGS=" " FFMPEG_LIBS=" "
export FFMPEG_POSTPROC_CFLAGS=" " FFMPEG_POSTPROC_LIBS=" "
+export FFMPEG_UTIL_CFLAGS=" " FFMPEG_UTIL_LIBS=" "
export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)"
# Keep list of options in mostly the same order as ./configure --help.
%configure \
commit b64752289538eb1a1804eeb9ce138bea25046ea8
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Wed Jan 7 19:56:48 2009 +0000
respin autotools patch
diff --git a/sources b/sources
index 6616d87..f89d6ad 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-5caed155987cd453b6e23b8720dfbd3d xine-lib-1.1.16-autotools.patch.bz2
+fe8148f2a0ec7b2e75ad509e8086e33f xine-lib-1.1.16-autotools.patch.bz2
512f31d8414ef4654ca366c0dce37301 xine-lib-1.1.16-pruned.tar.bz2
diff --git a/xine-lib.spec b/xine-lib.spec
index d6b5ad4..e95a56c 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -327,6 +327,11 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_image.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_matroska.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_mng.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_mpeg.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_mpeg_block.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_mpeg_elem.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_mpeg_pes.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_mpeg_ts.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_nsv.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_ogg.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_pva.so
@@ -336,6 +341,7 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_slave.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_sputext.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_yuv_frames.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_yuv4mpeg2.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_flac.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_cdda.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_dvb.so
@@ -417,7 +423,7 @@ rm -rf $RPM_BUILD_ROOT
%changelog
* Wed Jan 07 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16-1
- xine-lib-1.1.16, plugin ABI 1.25
-- --with-external-libdvdnav, include demuxers (#213597)
+- --with-external-libdvdnav, include mpeg demuxers (#213597)
* Fri Dec 12 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.15-4
- rebuild for pkgconfig deps
commit 81d11ef2fdb1276367df0d67715a2db24e01e3cd
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Wed Jan 7 19:18:46 2009 +0000
* Wed Jan 07 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16-1
- xine-lib-1.1.16, plugin ABI 1.25
- --with-external-libdvdnav, include demuxers (#213597)
diff --git a/.cvsignore b/.cvsignore
index 3929296..606b324 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -1,2 +1,2 @@
-xine-lib-1.1.15-autotools.patch.bz2
-xine-lib-1.1.15-pruned.tar.bz2
+xine-lib-1.1.16-autotools.patch.bz2
+xine-lib-1.1.16-pruned.tar.bz2
diff --git a/sources b/sources
index 15195de..6616d87 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-ffd74ec893a5f1167c69987a68f436fd xine-lib-1.1.15-autotools.patch.bz2
-acdbdc024382afac111eb076304448ed xine-lib-1.1.15-pruned.tar.bz2
+5caed155987cd453b6e23b8720dfbd3d xine-lib-1.1.16-autotools.patch.bz2
+512f31d8414ef4654ca366c0dce37301 xine-lib-1.1.16-pruned.tar.bz2
diff --git a/xine-lib-1.1.15-ansi.patch b/xine-lib-1.1.15-ansi.patch
deleted file mode 100644
index d9f1b27..0000000
--- a/xine-lib-1.1.15-ansi.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up xine-lib-1.1.15/src/xine-engine/buffer.h.ansi xine-lib-1.1.15/src/xine-engine/buffer.h
---- xine-lib-1.1.15/src/xine-engine/buffer.h.ansi 2008-07-16 16:01:56.000000000 -0500
-+++ xine-lib-1.1.15/src/xine-engine/buffer.h 2008-08-19 12:08:46.000000000 -0500
-@@ -676,7 +676,7 @@ void _x_bmiheader_le2me( xine_bmiheader
- /* convert xine_waveformatex struct from little endian */
- void _x_waveformatex_le2me( xine_waveformatex *wavex ) XINE_PROTECTED;
-
--static inline _x_is_fourcc(void *ptr, void *tag) {
-+static __inline _x_is_fourcc(void *ptr, void *tag) {
- return memcmp(ptr, tag, 4) == 0;
- }
-
diff --git a/xine-lib-cleanup-sources.sh b/xine-lib-cleanup-sources.sh
index a905a3f..31cff0f 100755
--- a/xine-lib-cleanup-sources.sh
+++ b/xine-lib-cleanup-sources.sh
@@ -56,11 +56,12 @@ for p in dvd vcd mms; do
sed -i -e "/xineplug_inp_$p/d" src/input/Makefile.am
done
# Demuxers
-for p in mpeg mpeg_block mpeg_ts mpeg_elem mpeg_pes yuv4mpeg2; do
- echo "removing $p demuxer..."
- [ -f src/demuxers/demux_$p.c ] && rm -f src/demuxers/demux_$p.c
- sed -i -e "/xineplug_dmx_$p/d" src/demuxers/Makefile.am
-done
+# These are ok now ( http://bugzilla.redhat.com/213597 )
+#for p in mpeg mpeg_block mpeg_ts mpeg_elem mpeg_pes yuv4mpeg2; do
+# echo "removing $p demuxer..."
+# [ -f src/demuxers/demux_$p.c ] && rm -f src/demuxers/demux_$p.c
+# sed -i -e "/xineplug_dmx_$p/d" src/demuxers/Makefile.am
+#done
# Postprocessors
echo "removing planar and deinterlace postprocessors..."
sed -i -e 's/deinterlace //g' src/post/Makefile.am # see comments in speedy.c
diff --git a/xine-lib.spec b/xine-lib.spec
index 6233be5..d6b5ad4 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -2,10 +2,9 @@
# - libstk: http://www.libstk.net/ - probably not, see 1.1.5 ChangeLog
# - drop the opengl video out plugin?
# http://www.redhat.com/archives/fedora-legal-list/2007-August/msg00011.html
-# - external dvdnav - not compatible as of 1.1.11 and 4.1.1
# - deprecate ESD support?
-%define abiver 1.24
+%define abiver 1.25
%define codecdir %{_libdir}/codecs
%ifarch %{ix86}
@@ -32,8 +31,8 @@
Summary: Xine library
Name: xine-lib
-Version: 1.1.15
-Release: 4%{?dist}
+Version: 1.1.16
+Release: 1%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -50,8 +49,6 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Patch1: %{name}-1.1.4-optflags.patch
Patch6: %{name}-1.1.1-deepbind-939.patch
## upstream patches
-# phonon-xine doesn't compile with xine-lib-1.1.15, http://bugs.kde.org/169365
-Patch100: xine-lib-1.1.15-ansi.patch
Provides: xine-lib(plugin-abi) = %{abiver}
# X11
@@ -111,6 +108,7 @@ BuildRequires: libsmbclient-devel
%else
BuildRequires: samba-common
%endif
+BuildRequires: libdvdnav-devel
%description
This package contains the Xine library. Xine is a free multimedia player.
@@ -191,10 +189,8 @@ touch -r m4/optimizations.m4.stamp m4/optimizations.m4
# Patch6 needed at least when compiling with external ffmpeg, #939.
%patch6 -p1 -b .deepbind
-%patch100 -p1 -b .ansi
-
-# Avoid standard rpaths on lib64 archs:
-sed -i -e 's|"/lib /usr/lib\b|"/%{_lib} %{_libdir}|' configure
+# Avoid standard rpaths on lib64 archs: (autotools patch should handle this, no? -- Rex )
+#sed -i -e 's|"/lib /usr/lib\b|"/%{_lib} %{_libdir}|' configure
%build
@@ -223,6 +219,7 @@ export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)"
--with-external-ffmpeg \
--with-xv-path=%{_libdir} \
--with-libflac \
+ --with-external-libdvdnav \
--with-external-libmpcdec \
%if 0%{?_without_imagemagick:1}
--without-imagemagick \
@@ -418,6 +415,10 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Wed Jan 07 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16-1
+- xine-lib-1.1.16, plugin ABI 1.25
+- --with-external-libdvdnav, include demuxers (#213597)
+
* Fri Dec 12 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.15-4
- rebuild for pkgconfig deps
commit d04f6398a23cd3051ad6f7b6e3c69d3b3c9ef005
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Fri Dec 12 21:17:03 2008 +0000
* Fri Dec 12 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.15-4
- rebuild for pkgconfig deps
diff --git a/xine-lib.spec b/xine-lib.spec
index 14ad846..6233be5 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -33,7 +33,7 @@
Summary: Xine library
Name: xine-lib
Version: 1.1.15
-Release: 3%{?dist}
+Release: 4%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -418,6 +418,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Fri Dec 12 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.15-4
+- rebuild for pkgconfig deps
+
* Tue Oct 28 2008 Kevin Kofler <Kevin(a)tigcc.ticalc.org> - 1.1.15-3
- rebuild for new libcaca
commit 4615667f5a33d7ce5d33b02f04fcc54037598673
Author: Kevin Kofler <kkofler(a)fedoraproject.org>
Date: Tue Oct 28 03:57:04 2008 +0000
* Tue Oct 28 2008 Kevin Kofler <Kevin(a)tigcc.ticalc.org> - 1.1.15-3
- rebuild for new libcaca
diff --git a/xine-lib.spec b/xine-lib.spec
index ee84083..14ad846 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -33,7 +33,7 @@
Summary: Xine library
Name: xine-lib
Version: 1.1.15
-Release: 2%{?dist}
+Release: 3%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -418,6 +418,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Tue Oct 28 2008 Kevin Kofler <Kevin(a)tigcc.ticalc.org> - 1.1.15-3
+- rebuild for new libcaca
+
* Thu Oct 23 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.15-2
- respin
commit 808b003503468c262b440ff886120e55fcc15733
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Thu Oct 23 17:52:26 2008 +0000
* Thu Oct 23 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.15-2
- respin
diff --git a/xine-lib.spec b/xine-lib.spec
index 1f2e001..ee84083 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -33,7 +33,7 @@
Summary: Xine library
Name: xine-lib
Version: 1.1.15
-Release: 1%{?dist}.1
+Release: 2%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -418,6 +418,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Thu Oct 23 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.15-2
+- respin
+
* Wed Aug 20 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.15-1
- xine-lib-1.1.15, plugin ABI 1.24 (rh#455752, CVE-2008-3231)
- Obsoletes: -arts (f9+)
commit c20f71efca180f7ba99fd5c9dca85e31a58eca9f
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Fri Aug 22 17:35:34 2008 +0000
doh, yank errant Obsoletes/Provides: -pulseaudio
diff --git a/xine-lib.spec b/xine-lib.spec
index 8f5911c..1f2e001 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -33,7 +33,7 @@
Summary: Xine library
Name: xine-lib
Version: 1.1.15
-Release: 1%{?dist}
+Release: 1%{?dist}.1
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -92,8 +92,6 @@ BuildRequires: libmpcdec-devel
BuildRequires: libvorbis-devel
%if %{with_pa}
BuildRequires: pulseaudio-lib-devel
-Obsoletes: %{name}-pulseaudio < %{version}-%{release}
-Provides: %{name}-pulseaudio = %{version}-%{release}
%endif # pa
BuildRequires: speex-devel
%if 0%{?_without_arts:1}
commit df8f64b24b84f488aaa1249b458e9411879099a1
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Fri Aug 22 15:18:52 2008 +0000
add awol patch
diff --git a/xine-lib-1.1.15-ansi.patch b/xine-lib-1.1.15-ansi.patch
new file mode 100644
index 0000000..d9f1b27
--- /dev/null
+++ b/xine-lib-1.1.15-ansi.patch
@@ -0,0 +1,12 @@
+diff -up xine-lib-1.1.15/src/xine-engine/buffer.h.ansi xine-lib-1.1.15/src/xine-engine/buffer.h
+--- xine-lib-1.1.15/src/xine-engine/buffer.h.ansi 2008-07-16 16:01:56.000000000 -0500
++++ xine-lib-1.1.15/src/xine-engine/buffer.h 2008-08-19 12:08:46.000000000 -0500
+@@ -676,7 +676,7 @@ void _x_bmiheader_le2me( xine_bmiheader
+ /* convert xine_waveformatex struct from little endian */
+ void _x_waveformatex_le2me( xine_waveformatex *wavex ) XINE_PROTECTED;
+
+-static inline _x_is_fourcc(void *ptr, void *tag) {
++static __inline _x_is_fourcc(void *ptr, void *tag) {
+ return memcmp(ptr, tag, 4) == 0;
+ }
+
commit 8561717eb942d76a22d3fec7fd911e745dac2a2a
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Fri Aug 22 15:12:26 2008 +0000
restore -pulseaudio subpkg
upsream -ansi-related patch
cleanup BR's a bit (more)
diff --git a/xine-lib.spec b/xine-lib.spec
index aea8a4c..8f5911c 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -45,9 +45,13 @@ Source1: %{name}-cleanup-sources.sh
Source2: %{name}-mk-autotools-patch.sh
# autotools patch created with source2
Patch0: %{name}-%{version}-autotools.patch.bz2
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+
Patch1: %{name}-1.1.4-optflags.patch
Patch6: %{name}-1.1.1-deepbind-939.patch
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+## upstream patches
+# phonon-xine doesn't compile with xine-lib-1.1.15, http://bugs.kde.org/169365
+Patch100: xine-lib-1.1.15-ansi.patch
Provides: xine-lib(plugin-abi) = %{abiver}
# X11
@@ -79,26 +83,25 @@ BuildRequires: ImageMagick-devel >= 6.2.4.6-1
BuildRequires: fontconfig-devel
%endif # freetype
# Audio
-BuildRequires: libogg-devel
-BuildRequires: libvorbis-devel
+BuildRequires: alsa-lib-devel >= 0.9.0
+BuildRequires: esound-devel
BuildRequires: flac-devel
+BuildRequires: jack-audio-connection-kit-devel
BuildRequires: libmodplug-devel
-BuildRequires: esound-devel
-BuildRequires: speex-devel
-%if 0%{?_without_arts:1}
-Obsoletes: %{name}-arts < %{version}-%{release}
-%else
-BuildRequires: arts-devel
-%endif
-BuildRequires: alsa-lib-devel >= 0.9.0
BuildRequires: libmpcdec-devel
-BuildRequires: wavpack-devel
+BuildRequires: libvorbis-devel
%if %{with_pa}
BuildRequires: pulseaudio-lib-devel
Obsoletes: %{name}-pulseaudio < %{version}-%{release}
Provides: %{name}-pulseaudio = %{version}-%{release}
%endif # pa
-BuildRequires: jack-audio-connection-kit-devel
+BuildRequires: speex-devel
+%if 0%{?_without_arts:1}
+Obsoletes: xine-lib-arts < %{version}-%{release}
+%else
+BuildRequires: arts-devel
+%endif
+BuildRequires: wavpack-devel
# CDs
BuildRequires: libcdio-devel
# Other
@@ -141,6 +144,17 @@ Obsoletes: xine-lib-extras < 1.1.7-3
%description arts
This package contains the aRts extra plugin for xine-lib.
+%package pulseaudio
+Summary: Pulseaudio plugin for xine-lib
+Group: System Environment/Libraries
+Requires: %{name} = %{version}-%{release}
+# -pulseaudio was split off -extras at 1.1.11.1-2
+#Obsoletes: xine-lib-extras < 1.1.11.1-2
+
+%description pulseaudio
+This package contains the pulseaudio plugin for xine-lib.
+
+
%package extras
Summary: Additional plugins for xine-lib
Group: System Environment/Libraries
@@ -179,6 +193,8 @@ touch -r m4/optimizations.m4.stamp m4/optimizations.m4
# Patch6 needed at least when compiling with external ffmpeg, #939.
%patch6 -p1 -b .deepbind
+%patch100 -p1 -b .ansi
+
# Avoid standard rpaths on lib64 archs:
sed -i -e 's|"/lib /usr/lib\b|"/%{_lib} %{_libdir}|' configure
@@ -286,9 +302,6 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_file.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_none.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_oss.so
-%if %{with_pa}
-%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_pulseaudio.so
-%endif
%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_bitplane.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_gsm610.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_lpcm.so
@@ -364,6 +377,12 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_arts.so
%endif
+%if %{with_pa}
+%files pulseaudio
+%defattr(-,root,root,-)
+%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_pulseaudio.so
+%endif
+
%files extras
%defattr(-,root,root,-)
%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_esd.so
@@ -401,10 +420,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
-* Fri Aug 15 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.15-1
+* Wed Aug 20 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.15-1
- xine-lib-1.1.15, plugin ABI 1.24 (rh#455752, CVE-2008-3231)
- Obsoletes: -arts (f9+)
-- move -pulseaudio into main pkg
* Sun Apr 27 2008 Kevin Kofler <Kevin(a)tigcc.ticalc.org> - 1.1.12-3
- rebuild for new ImageMagick (6.4.0.10)
commit 33738f1f9eb3b1802f3fc6f6d655d09183b064d5
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Fri Aug 15 19:38:41 2008 +0000
* Fri Aug 15 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.15-1
- xine-lib-1.1.15, plugin ABI 1.24 (rh#455752, CVE-2008-3231)
- Obsoletes: -arts (f9+)
- move -pulseaudio into main pkg
diff --git a/.cvsignore b/.cvsignore
index e68873d..3929296 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -1,2 +1,2 @@
-xine-lib-1.1.12-pruned.tar.bz2
-xine-lib-1.1.12-autotools.patch.bz2
+xine-lib-1.1.15-autotools.patch.bz2
+xine-lib-1.1.15-pruned.tar.bz2
diff --git a/sources b/sources
index 4a02333..15195de 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-3f918af93f52e486fb8fd4dfec04f98f xine-lib-1.1.12-pruned.tar.bz2
-771565628e4dfcfc8657b1256b9f41ef xine-lib-1.1.12-autotools.patch.bz2
+ffd74ec893a5f1167c69987a68f436fd xine-lib-1.1.15-autotools.patch.bz2
+acdbdc024382afac111eb076304448ed xine-lib-1.1.15-pruned.tar.bz2
diff --git a/xine-lib-1.1.12-CVE-2008-1878.patch b/xine-lib-1.1.12-CVE-2008-1878.patch
deleted file mode 100644
index b51f875..0000000
--- a/xine-lib-1.1.12-CVE-2008-1878.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff -up xine-lib-1.1.12/src/demuxers/demux_nsf.c.CVE-2008-1878 xine-lib-1.1.12/src/demuxers/demux_nsf.c
---- xine-lib-1.1.12/src/demuxers/demux_nsf.c.CVE-2008-1878 2008-03-28 09:24:50.000000000 -0500
-+++ xine-lib-1.1.12/src/demuxers/demux_nsf.c 2008-04-24 06:52:45.000000000 -0500
-@@ -106,9 +106,9 @@ static int open_nsf_file(demux_nsf_t *th
-
- this->total_songs = header[6];
- this->current_song = header[7];
-- this->title = strdup(&header[0x0E]);
-- this->artist = strdup(&header[0x2E]);
-- this->copyright = strdup(&header[0x4E]);
-+ this->title = strndup((char*)&header[0x0E], 0x20);
-+ this->artist = strndup((char*)&header[0x2E], 0x20);
-+ this->copyright = strndup((char*)&header[0x4E], 0x20);
-
- this->filesize = this->input->get_length(this->input);
-
diff --git a/xine-lib.spec b/xine-lib.spec
index e1c6012..aea8a4c 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -2,13 +2,10 @@
# - libstk: http://www.libstk.net/ - probably not, see 1.1.5 ChangeLog
# - drop the opengl video out plugin?
# http://www.redhat.com/archives/fedora-legal-list/2007-August/msg00011.html
-# - move -pulseaudio to main package?
-# http://fedoraproject.org/wiki/Releases/FeaturePulseaudio
-# --> not yet:
-# http://www.redhat.com/archives/fedora-devel-list/2007-August/msg01411.html
# - external dvdnav - not compatible as of 1.1.11 and 4.1.1
+# - deprecate ESD support?
-%define abiver 1.21
+%define abiver 1.24
%define codecdir %{_libdir}/codecs
%ifarch %{ix86}
@@ -29,10 +26,14 @@
%define with_xcb %{?_with_xcb:1}%{!?_with_xcb:0}
%endif # Fedora
+%if 0%{?fedora} > 8
+%define _without_arts --without-arts
+%endif
+
Summary: Xine library
Name: xine-lib
-Version: 1.1.12
-Release: 3%{?dist}
+Version: 1.1.15
+Release: 1%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -46,7 +47,6 @@ Source2: %{name}-mk-autotools-patch.sh
Patch0: %{name}-%{version}-autotools.patch.bz2
Patch1: %{name}-1.1.4-optflags.patch
Patch6: %{name}-1.1.1-deepbind-939.patch
-Patch7: %{name}-1.1.12-CVE-2008-1878.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Provides: xine-lib(plugin-abi) = %{abiver}
@@ -85,12 +85,18 @@ BuildRequires: flac-devel
BuildRequires: libmodplug-devel
BuildRequires: esound-devel
BuildRequires: speex-devel
-BuildRequires: arts-devel
+%if 0%{?_without_arts:1}
+Obsoletes: %{name}-arts < %{version}-%{release}
+%else
+BuildRequires: arts-devel
+%endif
BuildRequires: alsa-lib-devel >= 0.9.0
BuildRequires: libmpcdec-devel
BuildRequires: wavpack-devel
%if %{with_pa}
BuildRequires: pulseaudio-lib-devel
+Obsoletes: %{name}-pulseaudio < %{version}-%{release}
+Provides: %{name}-pulseaudio = %{version}-%{release}
%endif # pa
BuildRequires: jack-audio-connection-kit-devel
# CDs
@@ -99,7 +105,11 @@ BuildRequires: libcdio-devel
BuildRequires: pkgconfig
BuildRequires: gnome-vfs2-devel
BuildRequires: gtk2-devel
+%if 0%{?fedora} > 6 || 0%{?rhel} > 5
BuildRequires: libsmbclient-devel
+%else
+BuildRequires: samba-common
+%endif
%description
This package contains the Xine library. Xine is a free multimedia player.
@@ -120,31 +130,22 @@ Requires: zlib-devel
%description devel
This package contains development files for xine-lib.
-# TODO: consider removing and/or marking as deprecated for F9+ -- Rex
%package arts
Summary: aRts plugin for xine-lib
Group: System Environment/Libraries
Requires: %{name} = %{version}-%{release}
+#Requires: xine-lib(plugin-abi) = %{abiver}
# -arts was split off the -extras subpackage at 1.1.7-3
Obsoletes: xine-lib-extras < 1.1.7-3
%description arts
This package contains the aRts extra plugin for xine-lib.
-%package pulseaudio
-Summary: Pulseaudio plugin for xine-lib
-Group: System Environment/Libraries
-Requires: %{name} = %{version}-%{release}
-# -pulseaudio was split off -extras at 1.1.11.1-2
-#Obsoletes: xine-lib-extras < 1.1.11.1-2
-
-%description pulseaudio
-This package contains the pulseaudio plugin for xine-lib.
-
%package extras
Summary: Additional plugins for xine-lib
Group: System Environment/Libraries
Requires: %{name} = %{version}-%{release}
+#Requires: xine-lib(plugin-abi) = %{abiver}
%description extras
This package contains extra plugins for xine-lib:
@@ -177,7 +178,6 @@ touch -r m4/optimizations.m4 m4/optimizations.m4.stamp
touch -r m4/optimizations.m4.stamp m4/optimizations.m4
# Patch6 needed at least when compiling with external ffmpeg, #939.
%patch6 -p1 -b .deepbind
-%patch7 -p1 -b .CVE-2008-1878
# Avoid standard rpaths on lib64 archs:
sed -i -e 's|"/lib /usr/lib\b|"/%{_lib} %{_libdir}|' configure
@@ -213,7 +213,7 @@ export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)"
%if 0%{?_without_imagemagick:1}
--without-imagemagick \
%endif # imagemagick
- --with-arts \
+ %{!?_without_arts:--with-arts} %{?_without_arts} \
--with-wavpack \
--with-real-codecs-path=%{codecdir} \
--with-w32-path=%{codecdir}
@@ -286,6 +286,9 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_file.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_none.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_oss.so
+%if %{with_pa}
+%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_pulseaudio.so
+%endif
%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_bitplane.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_gsm610.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_lpcm.so
@@ -355,15 +358,11 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_xxmc.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_wavpack.so
+%if 0%{!?_without_arts:1}
%files arts
%defattr(-,root,root,-)
%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_arts.so
-
-%if %{with_pa}
-%files pulseaudio
-%defattr(-,root,root,-)
-%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_pulseaudio.so
-%endif
+%endif
%files extras
%defattr(-,root,root,-)
@@ -402,6 +401,11 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Fri Aug 15 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.15-1
+- xine-lib-1.1.15, plugin ABI 1.24 (rh#455752, CVE-2008-3231)
+- Obsoletes: -arts (f9+)
+- move -pulseaudio into main pkg
+
* Sun Apr 27 2008 Kevin Kofler <Kevin(a)tigcc.ticalc.org> - 1.1.12-3
- rebuild for new ImageMagick (6.4.0.10)
commit faddf92672abb22cf7c684692926727122256cec
Author: Kevin Kofler <kkofler(a)fedoraproject.org>
Date: Sun Apr 27 20:42:51 2008 +0000
* Sun Apr 27 2008 Kevin Kofler <Kevin(a)tigcc.ticalc.org> - 1.1.12-3
- rebuild for new ImageMagick (6.4.0.10)
diff --git a/xine-lib.spec b/xine-lib.spec
index 76ebc23..e1c6012 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -32,7 +32,7 @@
Summary: Xine library
Name: xine-lib
Version: 1.1.12
-Release: 2%{?dist}
+Release: 3%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -402,6 +402,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Sun Apr 27 2008 Kevin Kofler <Kevin(a)tigcc.ticalc.org> - 1.1.12-3
+- rebuild for new ImageMagick (6.4.0.10)
+
* Thu Apr 24 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.12-2
- CVE-2008-1878
commit 1d878d9973c8d17678c4e38f5107f170ea2ee7f5
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Thu Apr 24 15:22:17 2008 +0000
comment to consider move of -pulseaudio to main pkg
diff --git a/xine-lib.spec b/xine-lib.spec
index 81bd57b..76ebc23 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -2,7 +2,7 @@
# - libstk: http://www.libstk.net/ - probably not, see 1.1.5 ChangeLog
# - drop the opengl video out plugin?
# http://www.redhat.com/archives/fedora-legal-list/2007-August/msg00011.html
-# - move pulseaudio to main package from -extras?
+# - move -pulseaudio to main package?
# http://fedoraproject.org/wiki/Releases/FeaturePulseaudio
# --> not yet:
# http://www.redhat.com/archives/fedora-devel-list/2007-August/msg01411.html
commit 0566d7f607c63285af664f2015f6e26149726e0d
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Thu Apr 24 13:16:29 2008 +0000
omit tracking bug id
diff --git a/xine-lib.spec b/xine-lib.spec
index 68e9eb2..81bd57b 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -403,7 +403,7 @@ rm -rf $RPM_BUILD_ROOT
%changelog
* Thu Apr 24 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.12-2
-- CVE-2008-1878 (#443056)
+- CVE-2008-1878
* Wed Apr 16 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.12-1
- 1.1.12 (plugin ABI 1.21); qt, mkv, and pulseaudio patches applied upstream.
commit 0faa6e51ca66bf2e07749126c6ffcc8b046fedc8
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Thu Apr 24 11:57:39 2008 +0000
* Thu Apr 24 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.12-2
- CVE-2008-1878 (#443056)
diff --git a/xine-lib-1.1.12-CVE-2008-1878.patch b/xine-lib-1.1.12-CVE-2008-1878.patch
new file mode 100644
index 0000000..b51f875
--- /dev/null
+++ b/xine-lib-1.1.12-CVE-2008-1878.patch
@@ -0,0 +1,16 @@
+diff -up xine-lib-1.1.12/src/demuxers/demux_nsf.c.CVE-2008-1878 xine-lib-1.1.12/src/demuxers/demux_nsf.c
+--- xine-lib-1.1.12/src/demuxers/demux_nsf.c.CVE-2008-1878 2008-03-28 09:24:50.000000000 -0500
++++ xine-lib-1.1.12/src/demuxers/demux_nsf.c 2008-04-24 06:52:45.000000000 -0500
+@@ -106,9 +106,9 @@ static int open_nsf_file(demux_nsf_t *th
+
+ this->total_songs = header[6];
+ this->current_song = header[7];
+- this->title = strdup(&header[0x0E]);
+- this->artist = strdup(&header[0x2E]);
+- this->copyright = strdup(&header[0x4E]);
++ this->title = strndup((char*)&header[0x0E], 0x20);
++ this->artist = strndup((char*)&header[0x2E], 0x20);
++ this->copyright = strndup((char*)&header[0x4E], 0x20);
+
+ this->filesize = this->input->get_length(this->input);
+
diff --git a/xine-lib.spec b/xine-lib.spec
index a1a11c8..68e9eb2 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -32,7 +32,7 @@
Summary: Xine library
Name: xine-lib
Version: 1.1.12
-Release: 1%{?dist}
+Release: 2%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -46,6 +46,7 @@ Source2: %{name}-mk-autotools-patch.sh
Patch0: %{name}-%{version}-autotools.patch.bz2
Patch1: %{name}-1.1.4-optflags.patch
Patch6: %{name}-1.1.1-deepbind-939.patch
+Patch7: %{name}-1.1.12-CVE-2008-1878.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Provides: xine-lib(plugin-abi) = %{abiver}
@@ -176,6 +177,7 @@ touch -r m4/optimizations.m4 m4/optimizations.m4.stamp
touch -r m4/optimizations.m4.stamp m4/optimizations.m4
# Patch6 needed at least when compiling with external ffmpeg, #939.
%patch6 -p1 -b .deepbind
+%patch7 -p1 -b .CVE-2008-1878
# Avoid standard rpaths on lib64 archs:
sed -i -e 's|"/lib /usr/lib\b|"/%{_lib} %{_libdir}|' configure
@@ -400,6 +402,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Thu Apr 24 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.12-2
+- CVE-2008-1878 (#443056)
+
* Wed Apr 16 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.12-1
- 1.1.12 (plugin ABI 1.21); qt, mkv, and pulseaudio patches applied upstream.
commit 93d0f06ea4a38fc9a391838d0e66c0621bd5b0e8
Author: Ville Skyttä <scop(a)fedoraproject.org>
Date: Wed Apr 16 21:05:40 2008 +0000
* Wed Apr 16 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.12-1
- 1.1.12 (plugin ABI 1.21); qt, mkv, and pulseaudio patches applied upstream.
diff --git a/.cvsignore b/.cvsignore
index 907cc99..e68873d 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -1,2 +1,2 @@
-xine-lib-1.1.11.1-pruned.tar.bz2
-xine-lib-1.1.11.1-autotools.patch.bz2
+xine-lib-1.1.12-pruned.tar.bz2
+xine-lib-1.1.12-autotools.patch.bz2
diff --git a/sources b/sources
index 7c8f9d9..4a02333 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-b6a4fe9dd2ec80452870a8bfbb3974f0 xine-lib-1.1.11.1-pruned.tar.bz2
-c257bf0b964d25592f1c612149ae2c7a xine-lib-1.1.11.1-autotools.patch.bz2
+3f918af93f52e486fb8fd4dfec04f98f xine-lib-1.1.12-pruned.tar.bz2
+771565628e4dfcfc8657b1256b9f41ef xine-lib-1.1.12-autotools.patch.bz2
diff --git a/xine-lib-1.1.11.1-mkv.patch b/xine-lib-1.1.11.1-mkv.patch
deleted file mode 100644
index c835db1..0000000
--- a/xine-lib-1.1.11.1-mkv.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-
-# HG changeset patch
-# User Darren Salt <linux(a)youmustbejoking.demon.co.uk>
-# Date 1207353205 -3600
-# Node ID ff20b8db74eabc74b7b95da4c1b44fc5d7f2ec8c
-# Parent 05ebc886fd30158b59a26e03cf2f6f3a52114b24
-Fix a regression in the Matroska demuxer.
-One '&'...
-
---- a/src/demuxers/ebml.c Fri Apr 04 18:35:33 2008 +0100
-+++ b/src/demuxers/ebml.c Sat Apr 05 00:53:25 2008 +0100
-@@ -327,7 +327,7 @@ char *ebml_alloc_read_ascii (ebml_parser
- if (text)
- {
- text[elem->len] = '\0';
-- if (ebml_read_ascii (ebml, &elem, text))
-+ if (ebml_read_ascii (ebml, elem, text))
- return text;
- free (text);
- }
-
diff --git a/xine-lib-1.1.11.1-qt.patch b/xine-lib-1.1.11.1-qt.patch
deleted file mode 100644
index 54a9c67..0000000
--- a/xine-lib-1.1.11.1-qt.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-
-# HG changeset patch
-# User Darren Salt <linux(a)youmustbejoking.demon.co.uk>
-# Date 1206976103 -3600
-# Node ID d8e1305c13820b82d896f7bc77d196b9c9645dd6
-# Parent 2cc583bdc498fd6c95b8a21c10e81a0cef4d63c6
-Revert a change which broke Quicktime atom parsing.
-
---- a/src/demuxers/demux_qt.c Sun Mar 30 19:48:58 2008 +0100
-+++ b/src/demuxers/demux_qt.c Mon Mar 31 16:08:23 2008 +0100
-@@ -895,11 +895,6 @@ static qt_error parse_trak_atom (qt_trak
- for (i = ATOM_PREAMBLE_SIZE; i < trak_atom_size - 4; i++) {
- current_atom_size = _X_BE_32(&trak_atom[i - 4]);
- current_atom = _X_BE_32(&trak_atom[i]);
--
-- if (current_atom_size > trak_atom_size - i) {
-- last_error = QT_NOT_A_VALID_FILE;
-- goto free_trak;
-- }
-
- if (current_atom == TKHD_ATOM) {
- trak->flags = _X_BE_16(&trak_atom[i + 6]);
-
diff --git a/xine-lib.spec b/xine-lib.spec
index eb41b78..a1a11c8 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -8,7 +8,7 @@
# http://www.redhat.com/archives/fedora-devel-list/2007-August/msg01411.html
# - external dvdnav - not compatible as of 1.1.11 and 4.1.1
-%define abiver 1.20
+%define abiver 1.21
%define codecdir %{_libdir}/codecs
%ifarch %{ix86}
@@ -31,8 +31,8 @@
Summary: Xine library
Name: xine-lib
-Version: 1.1.11.1
-Release: 3%{?dist}
+Version: 1.1.12
+Release: 1%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -48,12 +48,6 @@ Patch1: %{name}-1.1.4-optflags.patch
Patch6: %{name}-1.1.1-deepbind-939.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-# upstream patches
-# lennart said this was upstreamed already. :)
-Patch100: http://0pointer.de/public/xine-pulse-rework2.patch
-Patch101: %{name}-1.1.11.1-mkv.patch
-Patch102: %{name}-1.1.11.1-qt.patch
-
Provides: xine-lib(plugin-abi) = %{abiver}
# X11
BuildRequires: libX11-devel
@@ -183,10 +177,6 @@ touch -r m4/optimizations.m4.stamp m4/optimizations.m4
# Patch6 needed at least when compiling with external ffmpeg, #939.
%patch6 -p1 -b .deepbind
-%patch100 -p1 -b .pulse-rework2
-%patch101 -p1 -b .mkv
-%patch102 -p1 -b .qt
-
# Avoid standard rpaths on lib64 archs:
sed -i -e 's|"/lib /usr/lib\b|"/%{_lib} %{_libdir}|' configure
@@ -348,6 +338,7 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_fb.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_none.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_opengl.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_raw.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_syncfb.so
%if %{have_vidix}
%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_vidix.so
@@ -398,15 +389,20 @@ rm -rf $RPM_BUILD_ROOT
%defattr(-,root,root,-)
%doc __docs/hackersguide/*
%{_bindir}/xine-config
+%{_bindir}/xine-list*
%{_datadir}/aclocal/xine.m4
%{_includedir}/xine.h
%{_includedir}/xine/
%{_libdir}/libxine.so
%{_libdir}/pkgconfig/libxine.pc
%{_mandir}/man1/xine-config.1*
+%{_mandir}/man1/xine-list*.1*
%changelog
+* Wed Apr 16 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.12-1
+- 1.1.12 (plugin ABI 1.21); qt, mkv, and pulseaudio patches applied upstream.
+
* Wed Apr 9 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.11.1-3
- Apply upstream fixes for Quicktime (#441705) and Matroska regressions
introduced in 1.1.11.1.
diff --git a/xine-pulse-rework2.patch b/xine-pulse-rework2.patch
deleted file mode 100644
index 7f29efb..0000000
--- a/xine-pulse-rework2.patch
+++ /dev/null
@@ -1,1039 +0,0 @@
---- xine-lib-1.1.11.1/src/audio_out/audio_pulse_out.c 2008-03-28 15:24:49.000000000 +0100
-+++ xine-lib-1.1.11.1.lennart/src/audio_out/audio_pulse_out.c 2008-04-02 22:55:49.000000000 +0200
-@@ -1,28 +1,28 @@
--/*
-- * Copyright (C) 2000-2007 the xine project
-- *
-+/* -*- Mode: C; c-basic-offset: 2; indent-tabs-mode: nil -*- */
-+
-+/*
-+ * Copyright (C) 2000-2008 the xine project
-+ *
- * This file is part of xine, a free video player.
-- *
-+ *
- * xine is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
-- *
-+ *
- * xine 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 General Public License for more details.
-- *
-+ *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
- *
-- * ao plugin for pulseaudio (rename of polypaudio):
-+ * ao plugin for PulseAudio:
- * http://0pointer.de/lennart/projects/pulsaudio/
- *
-- * originally written for polypaudio simple api. Lennart then suggested
-- * using the async api for better control (such as volume), therefore, a lot
-- * of this code comes from Lennart's patch to mplayer.
-+ * Diego Petteno, Lennart Poettering
- */
-
- #ifdef HAVE_CONFIG_H
-@@ -48,15 +48,9 @@
-
- #define GAP_TOLERANCE AO_MAX_GAP
-
--/* CHECKME: should this be conditional on autotools? */
--extern const char *__progname;
--
- typedef struct {
- audio_driver_class_t driver_class;
- xine_t *xine;
--
-- struct pa_context *context; /*< Pulseaudio connection context */
-- struct pa_threaded_mainloop *mainloop; /*< Main event loop object */
- } pulse_class_t;
-
- typedef struct pulse_driver_s {
-@@ -67,11 +61,13 @@ typedef struct pulse_driver_s {
-
- char *host; /*< The host to connect to */
- char *sink; /*< The sink to connect to */
-- struct pa_stream *stream; /*< Pulseaudio playback stream object */
-
-- pthread_mutex_t info_mutex; /**< Mutex for info callback signaling */
-+ pa_threaded_mainloop *mainloop; /*< Main event loop object */
-+ pa_context *context; /*< Pulseaudio connection context */
-+ pa_stream *stream; /*< Pulseaudio playback stream object */
-
- pa_volume_t swvolume;
-+ int muted;
- pa_cvolume cvolume;
-
- int capabilities;
-@@ -82,67 +78,117 @@ typedef struct pulse_driver_s {
- uint32_t bits_per_sample;
- uint32_t bytes_per_frame;
-
-- uint32_t frames_written;
--
- } pulse_driver_t;
-
-
- /**
-- * @brief Callback function called when a stream operation succeed
-- * @param stream Stream which operation has succeeded
-- * @param success The success value for the operation (ignored)
-- * @param this_Gen pulse_driver_t pointer for the PulseAudio output
-- * instance.
-+ * @brief Callback function called when the state of the context is changed
-+ * @param c Context which changed status
-+ * @param this_gen pulse_class_t pointer for the PulseAudio output class
- */
--static void __xine_pa_stream_success_callback(pa_stream *const stream, const int success,
-- void *const mutex_gen)
-+static void __xine_pa_context_state_callback(pa_context *c, void *this_gen)
- {
-- pthread_mutex_t *const completion_mutex = (pthread_mutex_t*)mutex_gen;
-+ pulse_driver_t * this = (pulse_driver_t*) this_gen;
-+
-+ switch (pa_context_get_state(c)) {
-+
-+ case PA_CONTEXT_READY:
-+ case PA_CONTEXT_TERMINATED:
-+ case PA_CONTEXT_FAILED:
-+ pa_threaded_mainloop_signal(this->mainloop, 0);
-+ break;
-
-- pthread_mutex_unlock(completion_mutex);
-+ case PA_CONTEXT_CONNECTING:
-+ case PA_CONTEXT_UNCONNECTED:
-+ case PA_CONTEXT_AUTHORIZING:
-+ case PA_CONTEXT_SETTING_NAME:
-+ break;
-+ }
- }
-
- /**
-- * @brief Callback function called when the state of the context is changed
-- * @param ctx Context which operation has succeeded
-+ * @brief Callback function called when the state of the stream is changed
-+ * @param s Stream that changed status
- * @param this_gen pulse_driver_t pointer for the PulseAudio output
- * instance.
- */
--static void __xine_pa_context_status_callback(pa_context *const ctx, void *const this_gen)
-+static void __xine_pa_stream_state_callback(pa_stream *s, void *this_gen)
- {
-- pulse_driver_t *const this = (pulse_driver_t*)this_gen;
-+ pulse_driver_t * this = (pulse_driver_t*) this_gen;
-+
-+ switch (pa_stream_get_state(s)) {
-+
-+ case PA_STREAM_READY:
-+ case PA_STREAM_TERMINATED:
-+ case PA_STREAM_FAILED:
-+ pa_threaded_mainloop_signal(this->mainloop, 0);
-+ break;
-
-- switch (pa_context_get_state(ctx)) {
-- case PA_CONTEXT_READY:
-- case PA_CONTEXT_TERMINATED:
-- case PA_CONTEXT_FAILED:
-- pa_threaded_mainloop_signal(this->pa_class->mainloop, 0);
-- break;
--
-- case PA_CONTEXT_CONNECTING:
-- case PA_CONTEXT_UNCONNECTED:
-- case PA_CONTEXT_AUTHORIZING:
-- case PA_CONTEXT_SETTING_NAME:
-- break;
-+ case PA_STREAM_UNCONNECTED:
-+ case PA_STREAM_CREATING:
-+ break;
- }
- }
-
- /**
-- * @brief Callback function called when a context operation succeed
-+ * @brief Callback function called when PA asks for more audio data.
-+ * @param s Stream on which data is requested
-+ * @param nbytes the number of bytes PA requested
-+ * @param this_gen pulse_driver_t pointer for the PulseAudio output
-+ * instance.
-+ */
-+static void __xine_pa_stream_request_callback(pa_stream *s, size_t nbytes, void *this_gen)
-+{
-+ pulse_driver_t * this = (pulse_driver_t*) this_gen;
-+
-+ pa_threaded_mainloop_signal(this->mainloop, 0);
-+}
-+
-+/**
-+ * @brief Callback function called when PA notifies about something
-+ * @param s Stream on which the notification happened
-+ * @param this_gen pulse_driver_t pointer for the PulseAudio output
-+ * instance.
-+ */
-+static void __xine_pa_stream_notify_callback(pa_stream *s, void *this_gen)
-+{
-+ pulse_driver_t * this = (pulse_driver_t*) this_gen;
-+
-+ pa_threaded_mainloop_signal(this->mainloop, 0);
-+}
-+
-+/**
-+ * @brief Callback function called when PA completed an operation
- * @param ctx Context which operation has succeeded
-- * @param success The success value for the operation (ignored)
-+ * @param nbytes the number of bytes PA requested
- * @param this_gen pulse_driver_t pointer for the PulseAudio output
- * instance.
- */
--static void __xine_pa_context_success_callback(pa_context *const ctx, const int success,
-- void *const this_gen)
-+static void __xine_pa_stream_success_callback(pa_stream *s, int success, void *this_gen)
- {
-- pulse_driver_t *const this = (pulse_driver_t*)this_gen;
-+ pulse_driver_t * this = (pulse_driver_t*) this_gen;
-
-- _x_assert(ctx); _x_assert(this);
-- _x_assert(ctx == this->pa_class->context);
-+ if (!success)
-+ xprintf (this->xine, XINE_VERBOSITY_DEBUG, "audio_pulse_out: stream operation failed: %s\n", pa_strerror(pa_context_errno(this->context)));
-
-- pa_threaded_mainloop_signal(this->pa_class->mainloop, 0);
-+ pa_threaded_mainloop_signal(this->mainloop, 0);
-+}
-+
-+/**
-+ * @brief Callback function called when PA completed an operation
-+ * @param c Context on which operation has succeeded
-+ * @param nbytes the number of bytes PA requested
-+ * @param this_gen pulse_driver_t pointer for the PulseAudio output
-+ * instance.
-+ */
-+static void __xine_pa_context_success_callback(pa_context *c, int success, void *this_gen)
-+{
-+ pulse_driver_t *this = (pulse_driver_t*) this_gen;
-+
-+ if (!success)
-+ xprintf (this->xine, XINE_VERBOSITY_DEBUG, "audio_pulse_out: context operation failed: %s\n", pa_strerror(pa_context_errno(this->context)));
-+
-+ pa_threaded_mainloop_signal(this->mainloop, 0);
- }
-
- /**
-@@ -156,14 +202,14 @@ static void __xine_pa_context_success_ca
- * This function saves the volume field of the passed structure to the
- * @c cvolume variable of the output instance.
- */
--static void __xine_pa_sink_info_callback(pa_context *const ctx, const pa_sink_input_info *const info,
-- const int is_last, void *const userdata) {
-+static void __xine_pa_sink_info_callback(pa_context *c, const pa_sink_input_info *info,
-+ int is_last, void *userdata) {
-
- pulse_driver_t *const this = (pulse_driver_t *) userdata;
-
- if (is_last < 0) {
- xprintf (this->xine, XINE_VERBOSITY_DEBUG, "audio_pulse_out: Failed to get sink input info: %s\n",
-- pa_strerror(pa_context_errno(this->pa_class->context)));
-+ pa_strerror(pa_context_errno(this->context)));
- return;
- }
-
-@@ -171,36 +217,90 @@ static void __xine_pa_sink_info_callback
- return;
-
- this->cvolume = info->volume;
-+ this->swvolume = pa_sw_volume_to_linear(pa_cvolume_avg(&info->volume));
-+ this->muted = info->mute;
-+}
-+
-+static int connect_context(pulse_driver_t *this) {
-+
-+ if (this->context && (pa_context_get_state(this->context) == PA_CONTEXT_FAILED ||
-+ pa_context_get_state(this->context) == PA_CONTEXT_TERMINATED)) {
-+ pa_context_unref(this->context);
-+ this->context = NULL;
-+ }
-+
-+ if (!this->context) {
-+ char fn[PATH_MAX], *p;
-+
-+ if (pa_get_binary_name(fn, sizeof(fn)))
-+ p = pa_path_get_filename(fn);
-+ else
-+ p = "Xine";
-
-- pthread_mutex_unlock(&this->info_mutex);
-+ this->context = pa_context_new(pa_threaded_mainloop_get_api(this->mainloop), p);
-+ _x_assert(this->context);
-+
-+ pa_context_set_state_callback(this->context, __xine_pa_context_state_callback, this);
-+ }
-+
-+ if (pa_context_get_state(this->context) == PA_CONTEXT_UNCONNECTED) {
-+
-+ if (pa_context_connect(this->context, this->host, 0, NULL) < 0) {
-+ xprintf (this->xine, XINE_VERBOSITY_DEBUG, "audio_pulse_out: failed to connect context object %s\n", pa_strerror(pa_context_errno(this->context)));
-+ return -1;
-+ }
-+ }
-+
-+ for (;;) {
-+ pa_context_state_t state = pa_context_get_state(this->context);
-+
-+ if (state == PA_CONTEXT_FAILED || state == PA_CONTEXT_TERMINATED) {
-+ xprintf (this->xine, XINE_VERBOSITY_DEBUG, "audio_pulse_out: failed to connect context object: %s\n", pa_strerror(pa_context_errno(this->context)));
-+ return -1;
-+ }
-+
-+ if (state == PA_CONTEXT_READY)
-+ break;
-+
-+ pa_threaded_mainloop_wait(this->mainloop);
-+ }
-+
-+ return 0;
- }
-
- /*
- * open the audio device for writing to
- */
- static int ao_pulse_open(ao_driver_t *this_gen,
-- uint32_t bits, uint32_t rate, int mode)
-+ uint32_t bits, uint32_t rate, int mode)
- {
- pulse_driver_t *this = (pulse_driver_t *) this_gen;
-- struct pa_sample_spec ss;
-- struct pa_buffer_attr a;
-- pa_stream_state_t streamstate;
-+ pa_sample_spec ss;
-+ pa_channel_map cm;
-+ int r;
-
- xprintf (this->xine, XINE_VERBOSITY_DEBUG,
-- "audio_pulse_out: ao_open bits=%d rate=%d, mode=%d\n", bits, rate, mode);
-+ "audio_pulse_out: ao_open bits=%d rate=%d, mode=%d\n", bits, rate, mode);
-
- if ( (mode & this->capabilities) == 0 ) {
- xprintf (this->xine, XINE_VERBOSITY_DEBUG, "audio_pulse_out: unsupported mode %08x\n", mode);
- return 0;
- }
-
-+ pa_threaded_mainloop_lock(this->mainloop);
-+
- if (this->stream) {
-
-- if ( mode == this->mode && rate == this->sample_rate &&
-- bits == this->bits_per_sample )
-+ if (mode == this->mode && rate == this->sample_rate &&
-+ bits == this->bits_per_sample) {
-+
-+ pa_threaded_mainloop_unlock(this->mainloop);
- return this->sample_rate;
-+ }
-
-- this_gen->close(this_gen);
-+ pa_stream_disconnect(this->stream);
-+ pa_stream_unref(this->stream);
-+ this->stream = NULL;
- }
-
- this->mode = mode;
-@@ -221,6 +321,8 @@ static int ao_pulse_open(ao_driver_t *th
- case 32:
- ss.format = PA_SAMPLE_FLOAT32NE;
- break;
-+ default:
-+ _x_assert(!"Should not be reached");
- }
-
- if (!pa_sample_spec_valid(&ss)) {
-@@ -228,70 +330,86 @@ static int ao_pulse_open(ao_driver_t *th
- goto fail;
- }
-
-- if ( this->pa_class->context && pa_context_get_state(this->pa_class->context) > PA_CONTEXT_READY ) {
-- pa_context_unref(this->pa_class->context);
-- this->pa_class->context = NULL;
-- }
--
-- if ( this->pa_class->context == NULL ) {
-- this->pa_class->context = pa_context_new(pa_threaded_mainloop_get_api(this->pa_class->mainloop),
-- __progname);
-- }
--
-- pa_context_ref(this->pa_class->context);
-+ cm.channels = ss.channels;
-
-- if ( pa_context_get_state(this->pa_class->context) == PA_CONTEXT_UNCONNECTED ) {
-- int ret;
-+ switch (mode) {
-+ case AO_CAP_MODE_MONO:
-+ cm.map[0] = PA_CHANNEL_POSITION_MONO;
-+ _x_assert(cm.channels == 1);
-+ break;
-
-- pa_threaded_mainloop_lock(this->pa_class->mainloop);
-- ret = pa_context_connect(this->pa_class->context, this->host, 1, NULL);
-- if ( ret < 0 )
-- goto fail_unlock;
-+ case AO_CAP_MODE_STEREO:
-+ cm.map[0] = PA_CHANNEL_POSITION_FRONT_LEFT;
-+ cm.map[1] = PA_CHANNEL_POSITION_FRONT_RIGHT;
-+ _x_assert(cm.channels == 2);
-+ break;
-
-- pa_context_set_state_callback(this->pa_class->context, __xine_pa_context_status_callback, this);
-+ case AO_CAP_MODE_4CHANNEL:
-+ cm.map[0] = PA_CHANNEL_POSITION_FRONT_LEFT;
-+ cm.map[1] = PA_CHANNEL_POSITION_FRONT_RIGHT;
-+ cm.map[2] = PA_CHANNEL_POSITION_REAR_LEFT;
-+ cm.map[3] = PA_CHANNEL_POSITION_REAR_RIGHT;
-+ _x_assert(cm.channels == 4);
-+ break;
-
-- pa_threaded_mainloop_wait(this->pa_class->mainloop);
-- pa_threaded_mainloop_unlock(this->pa_class->mainloop);
-+ case AO_CAP_MODE_4_1CHANNEL:
-+ case AO_CAP_MODE_5CHANNEL:
-+ case AO_CAP_MODE_5_1CHANNEL:
-+ cm.map[0] = PA_CHANNEL_POSITION_FRONT_LEFT;
-+ cm.map[1] = PA_CHANNEL_POSITION_FRONT_RIGHT;
-+ cm.map[2] = PA_CHANNEL_POSITION_REAR_LEFT;
-+ cm.map[3] = PA_CHANNEL_POSITION_REAR_RIGHT;
-+ cm.map[4] = PA_CHANNEL_POSITION_FRONT_CENTER;
-+ cm.map[5] = PA_CHANNEL_POSITION_LFE;
-+ cm.channels = 6;
-+ break;
-+ default:
-+ _x_assert(!"Should not be reached");
- }
-
-- if (pa_context_get_state(this->pa_class->context) != PA_CONTEXT_READY) {
-- xprintf (this->xine, XINE_VERBOSITY_DEBUG, "audio_pulse_out: Failed to connect to server: %s\n",
-- pa_strerror(pa_context_errno(this->pa_class->context)));
-+ if (!pa_channel_map_valid(&cm)) {
-+ xprintf (this->xine, XINE_VERBOSITY_DEBUG, "audio_pulse_out: Invalid channel map\n");
- goto fail;
- }
-
-- this->stream = pa_stream_new(this->pa_class->context, "audio stream", &ss, NULL);
-+ if (connect_context(this) < 0)
-+ goto fail;
-+
-+ _x_assert(!this->stream);
-+ this->stream = pa_stream_new(this->context, "Audio Stream", &ss, &cm);
- _x_assert(this->stream);
-
-- a.maxlength = pa_bytes_per_second(&ss)*1;
-- a.tlength = a.maxlength*9/10;
-- a.prebuf = a.tlength/2;
-- a.minreq = a.tlength/10;
-+ pa_stream_set_state_callback(this->stream, __xine_pa_stream_state_callback, this);
-+ pa_stream_set_write_callback(this->stream, __xine_pa_stream_request_callback, this);
-+ pa_stream_set_latency_update_callback(this->stream, __xine_pa_stream_notify_callback, this);
-
-- pa_stream_connect_playback(this->stream, this->sink, &a,
-- PA_STREAM_INTERPOLATE_TIMING|PA_STREAM_AUTO_TIMING_UPDATE,
-+ r = pa_stream_connect_playback(this->stream, this->sink, NULL,
-+ PA_STREAM_INTERPOLATE_TIMING|PA_STREAM_AUTO_TIMING_UPDATE,
- NULL, NULL);
-
-- do {
-- xine_usec_sleep (100);
-+ for (;;) {
-+ pa_context_state_t cstate = pa_context_get_state(this->context);
-+ pa_stream_state_t sstate = pa_stream_get_state(this->stream);
-+
-+ if (cstate == PA_CONTEXT_FAILED || cstate == PA_CONTEXT_TERMINATED ||
-+ sstate == PA_STREAM_FAILED || sstate == PA_STREAM_TERMINATED) {
-+ xprintf (this->xine, XINE_VERBOSITY_DEBUG, "audio_pulse_out: failed to connect context object: %s\n", pa_strerror(pa_context_errno(this->context)));
-+ goto fail;
-+ }
-
-- streamstate = pa_stream_get_state(this->stream);
-- } while (streamstate < PA_STREAM_READY);
--
-- if (streamstate != PA_STREAM_READY) {
-- xprintf (this->xine, XINE_VERBOSITY_LOG, "audio_pulse_out: Failed to connect to server: %s\n",
-- pa_strerror(pa_context_errno(this->pa_class->context)));
-- goto fail;
-+ if (sstate == PA_STREAM_READY)
-+ break;
-+
-+ pa_threaded_mainloop_wait(this->mainloop);
- }
-- this->frames_written = 0;
-
-- this->ao_driver.set_property(this, AO_PROP_PCM_VOL, 100);
-+ pa_threaded_mainloop_unlock(this->mainloop);
-
- return this->sample_rate;
-
-- fail_unlock:
-- pa_threaded_mainloop_unlock(this->pa_class->mainloop);
- fail:
-+
-+ pa_threaded_mainloop_unlock(this->mainloop);
- this_gen->close(this_gen);
- return 0;
- }
-@@ -319,217 +437,348 @@ static int ao_pulse_write(ao_driver_t *t
- {
- pulse_driver_t *this = (pulse_driver_t *) this_gen;
- size_t size = num_frames * this->bytes_per_frame;
-- int ret = 0;
--
-- if ( !this->stream || !this->pa_class->context)
-- return -1;
--
-- switch( pa_stream_get_state(this->stream) ) {
-- case PA_STREAM_READY:
-- while (size > 0) {
-- size_t l;
-+ int ret = -1;
-+ size_t done = 0;
-
-- while (!(l = pa_stream_writable_size(this->stream))) {
-- xine_usec_sleep (10000);
-- }
-+ pa_threaded_mainloop_lock(this->mainloop);
-
-- if (l > size)
-- l = size;
--
-- pa_stream_write(this->stream, data, l, NULL, 0, PA_SEEK_RELATIVE);
-- data = (int16_t *) ((uint8_t*) data + l);
-- size -= l;
-- }
-+ while (size > 0) {
-+ size_t l;
-
-- this->frames_written += num_frames;
-+ for (;;) {
-
-- if (pa_stream_get_state(this->stream) == PA_STREAM_READY)
-- ret = 1;
-+ if (!this->stream ||
-+ !this->context ||
-+ pa_context_get_state(this->context) != PA_CONTEXT_READY ||
-+ pa_stream_get_state(this->stream) != PA_STREAM_READY)
-+ goto finish;
-
-- break;
-+ if ((l = pa_stream_writable_size(this->stream)) == (size_t) -1)
-+ goto finish;
-+
-+ if (l > 0)
-+ break;
-+
-+ pa_threaded_mainloop_wait(this->mainloop);
-+ }
-+
-+ if (l > size)
-+ l = size;
-+
-+ pa_stream_write(this->stream, data, l, NULL, 0, PA_SEEK_RELATIVE);
-+ data = (int16_t *) ((uint8_t*) data + l);
-+ size -= l;
-+ done += l;
- }
-
-+ ret = done;
-+
-+finish:
-+
-+ pa_threaded_mainloop_unlock(this->mainloop);
-+
-+/* fprintf(stderr, "write-out\n"); */
-+
- return ret;
--}
-
-+}
-
- static int ao_pulse_delay (ao_driver_t *this_gen)
- {
- pulse_driver_t *this = (pulse_driver_t *) this_gen;
-- pa_usec_t latency = 0;
-- unsigned int delay_frames;
-+ int ret = 0;
-
-- if ( ! this->stream ) return this->frames_written;
-+/* fprintf(stderr, "delay-in\n"); */
-
-- if (pa_stream_get_latency(this->stream, &latency, NULL) < 0) {
-- pa_context_unref(this->pa_class->context);
-- this->pa_class->context = NULL;
-+ pa_threaded_mainloop_lock(this->mainloop);
-
-- pa_stream_disconnect(this->stream);
-- pa_stream_unref(this->stream);
-- this->stream = NULL;
-+ for (;;) {
-+ pa_usec_t latency = 0;
-
-- return 0;
-+ if (!this->stream ||
-+ !this->context ||
-+ pa_context_get_state(this->context) != PA_CONTEXT_READY ||
-+ pa_stream_get_state(this->stream) != PA_STREAM_READY)
-+ goto finish;
-+
-+ if (pa_stream_get_latency(this->stream, &latency, NULL) >= 0) {
-+ ret = (int) ((latency * this->sample_rate) / 1000000);
-+ goto finish;
-+ }
-+
-+ if (pa_context_errno(this->context) != PA_ERR_NODATA) {
-+ xprintf (this->xine, XINE_VERBOSITY_DEBUG, "audio_pulse_out: failed to query latency: %s\n", pa_strerror(pa_context_errno(this->context)));
-+ goto finish;
-+ }
-+
-+ pa_threaded_mainloop_wait(this->mainloop);
- }
-
-- /* convert latency (us) to frame units. */
-- delay_frames = (int)(latency * this->sample_rate / 1000000);
-+finish:
-
-- if( delay_frames > this->frames_written )
-- return this->frames_written;
-- else
-- return delay_frames;
-+ pa_threaded_mainloop_unlock(this->mainloop);
-+
-+ return ret;
- }
-
- static void ao_pulse_close(ao_driver_t *this_gen)
- {
- pulse_driver_t *this = (pulse_driver_t *) this_gen;
--
-- if (this->stream) {
-- if (pa_stream_get_state(this->stream) == PA_STREAM_READY) {
-- pthread_mutex_t completion_callback = PTHREAD_MUTEX_INITIALIZER; pthread_mutex_lock(&completion_callback);
-- pa_stream_drain(this->stream, __xine_pa_stream_success_callback, &completion_callback);
-
-- pthread_mutex_lock(&completion_callback);
-- pthread_mutex_destroy(&completion_callback);
-- }
-+ pa_threaded_mainloop_lock(this->mainloop);
-
-+ if (this->stream) {
- pa_stream_disconnect(this->stream);
- pa_stream_unref(this->stream);
- this->stream = NULL;
--
-- pa_context_unref(this->pa_class->context);
- }
-+
-+ pa_threaded_mainloop_unlock(this->mainloop);
- }
-
- static uint32_t ao_pulse_get_capabilities (ao_driver_t *this_gen) {
- pulse_driver_t *this = (pulse_driver_t *) this_gen;
-+
- return this->capabilities;
- }
-
--static void ao_pulse_exit(ao_driver_t *this_gen)
--{
-+static void ao_pulse_exit(ao_driver_t *this_gen) {
- pulse_driver_t *this = (pulse_driver_t *) this_gen;
-
-- free (this);
-+ ao_pulse_close(this_gen);
-+
-+ pa_threaded_mainloop_lock(this->mainloop);
-+
-+ if (this->context) {
-+ pa_context_disconnect(this->context);
-+ pa_context_unref(this->context);
-+ }
-+
-+ pa_threaded_mainloop_unlock(this->mainloop);
-+
-+ pa_threaded_mainloop_free(this->mainloop);
-+
-+ free(this->host);
-+ free(this->sink);
-+ free(this);
-+}
-+
-+static int wait_for_operation(pulse_driver_t *this, pa_operation *o) {
-+
-+ for (;;) {
-+
-+ if (!this->stream ||
-+ !this->context ||
-+ pa_context_get_state(this->context) != PA_CONTEXT_READY ||
-+ pa_stream_get_state(this->stream) != PA_STREAM_READY)
-+ return -1;
-+
-+ if (pa_operation_get_state(o) != PA_OPERATION_RUNNING)
-+ return 0;
-+
-+ pa_threaded_mainloop_wait(this->mainloop);
-+ }
- }
-
- static int ao_pulse_get_property (ao_driver_t *this_gen, int property) {
- pulse_driver_t *this = (pulse_driver_t *) this_gen;
- int result = 0;
-+ pa_operation *o = NULL;
-
-- if ( ! this->stream || ! this->pa_class->context )
-+ pa_threaded_mainloop_lock(this->mainloop);
-+
-+ if (!this->stream ||
-+ !this->context ||
-+ pa_context_get_state(this->context) != PA_CONTEXT_READY ||
-+ pa_stream_get_state(this->stream) != PA_STREAM_READY) {
-+ pa_threaded_mainloop_unlock(this->mainloop);
- return 0;
-+ }
-
- switch(property) {
-- case AO_PROP_PCM_VOL:
-- case AO_PROP_MIXER_VOL:
-- {
-- pthread_mutex_lock(&this->info_mutex);
-- pa_operation *o = pa_context_get_sink_input_info(this->pa_class->context,
-- pa_stream_get_index(this->stream),
-- __xine_pa_sink_info_callback, this);
-- if ( ! o ) return 0;
-- pthread_mutex_lock(&this->info_mutex); pthread_mutex_unlock(&this->info_mutex);
--
-- result = (pa_sw_volume_to_linear(this->swvolume)*100);
-- }
-- break;
-
-- case AO_PROP_MUTE_VOL:
-- result = pa_cvolume_is_muted(&this->cvolume);
-- break;
-+ case AO_PROP_MUTE_VOL:
-+ case AO_PROP_PCM_VOL:
-+ case AO_PROP_MIXER_VOL:
-+
-+ o = pa_context_get_sink_input_info(this->context, pa_stream_get_index(this->stream),
-+ __xine_pa_sink_info_callback, this);
-+
-+ break;
-+ }
-+
-+ if (o) {
-+ wait_for_operation(this, o);
-+ pa_operation_unref(o);
- }
--
-+
-+ switch(property) {
-+
-+ case AO_PROP_MUTE_VOL:
-+ result = this->muted;
-+ break;
-+
-+ case AO_PROP_PCM_VOL:
-+ case AO_PROP_MIXER_VOL:
-+ result = (int) (pa_sw_volume_to_linear(this->swvolume)*100);
-+ break;
-+ }
-+
-+ pa_threaded_mainloop_unlock(this->mainloop);
-+
- return result;
- }
-
- static int ao_pulse_set_property (ao_driver_t *this_gen, int property, int value) {
- pulse_driver_t *this = (pulse_driver_t *) this_gen;
- int result = ~value;
-+ pa_operation *o = NULL;
-
-- if ( ! this->stream || ! this->pa_class->context )
-- return result;
-+ pa_threaded_mainloop_lock(this->mainloop);
-+
-+ if (!this->stream ||
-+ !this->context ||
-+ pa_context_get_state(this->context) != PA_CONTEXT_READY ||
-+ pa_stream_get_state(this->stream) != PA_STREAM_READY) {
-+ pa_threaded_mainloop_unlock(this->mainloop);
-+ return 0;
-+ }
-
- switch(property) {
-- case AO_PROP_PCM_VOL:
-- case AO_PROP_MIXER_VOL:
-- this->swvolume = pa_sw_volume_from_linear((double)value/100.0);
-- pa_cvolume_set(&this->cvolume, pa_stream_get_sample_spec(this->stream)->channels, this->swvolume);
--
-- pa_context_set_sink_input_volume(this->pa_class->context, pa_stream_get_index(this->stream),
-- &this->cvolume, __xine_pa_context_success_callback, this);
--
-- result = value;
-- break;
--
-- case AO_PROP_MUTE_VOL:
-- if ( value )
-- pa_cvolume_mute(&this->cvolume, pa_stream_get_sample_spec(this->stream)->channels);
-- else
-+ case AO_PROP_PCM_VOL:
-+ case AO_PROP_MIXER_VOL:
-+
-+ this->swvolume = pa_sw_volume_from_linear((double)value/100.0);
- pa_cvolume_set(&this->cvolume, pa_stream_get_sample_spec(this->stream)->channels, this->swvolume);
-
-- pa_context_set_sink_input_volume(this->pa_class->context, pa_stream_get_index(this->stream),
-- &this->cvolume, __xine_pa_context_success_callback, this);
--
-- result = value;
-- break;
-+ o = pa_context_set_sink_input_volume(this->context, pa_stream_get_index(this->stream),
-+ &this->cvolume, __xine_pa_context_success_callback, this);
-+
-+ result = value;
-+ break;
-+
-+ case AO_PROP_MUTE_VOL:
-+
-+ this->muted = value;
-+
-+ o = pa_context_set_sink_input_mute(this->context, pa_stream_get_index(this->stream),
-+ value, __xine_pa_context_success_callback, this);
-+
-+ result = value;
-+ }
-+
-+ if (o) {
-+ wait_for_operation(this, o);
-+ pa_operation_unref(o);
- }
--
-+
-+ pa_threaded_mainloop_unlock(this->mainloop);
-+
- return result;
- }
-
- static int ao_pulse_ctrl(ao_driver_t *this_gen, int cmd, ...) {
- pulse_driver_t *this = (pulse_driver_t *) this_gen;
-+ pa_operation *o = NULL;
-+
-+ pa_threaded_mainloop_lock(this->mainloop);
-
-- if ( ! this->stream ) return 0;
-+ if (!this->stream ||
-+ !this->context ||
-+ pa_context_get_state(this->context) != PA_CONTEXT_READY ||
-+ pa_stream_get_state(this->stream) != PA_STREAM_READY) {
-+ pa_threaded_mainloop_unlock(this->mainloop);
-+ return 0;
-+ }
-
- switch (cmd) {
-
-- case AO_CTRL_FLUSH_BUFFERS:
-- _x_assert(this->stream && this->pa_class->context);
-+ case AO_CTRL_FLUSH_BUFFERS:
-
-- if(pa_stream_get_state(this->stream) == PA_STREAM_READY) {
-- pthread_mutex_t completion_callback = PTHREAD_MUTEX_INITIALIZER; pthread_mutex_lock(&completion_callback);
-- pa_stream_flush(this->stream, __xine_pa_stream_success_callback, &completion_callback);
-+ o = pa_stream_flush(this->stream, __xine_pa_stream_success_callback, this);
-+ break;
-
-- pthread_mutex_lock(&completion_callback);
-- pthread_mutex_destroy(&completion_callback);
-- }
-+ case AO_CTRL_PLAY_RESUME:
-+ case AO_CTRL_PLAY_PAUSE:
-
-- this->frames_written = 0;
-+ o = pa_stream_cork(this->stream, cmd == AO_CTRL_PLAY_PAUSE, __xine_pa_stream_success_callback, this);
-+ break;
-+ }
-
-- break;
-+ if (o) {
-+ wait_for_operation(this, o);
-+ pa_operation_unref(o);
- }
-
-+ pa_threaded_mainloop_unlock(this->mainloop);
-+
- return 0;
- }
-
- static ao_driver_t *open_plugin (audio_driver_class_t *class_gen, const void *data) {
- pulse_class_t *class = (pulse_class_t *) class_gen;
- pulse_driver_t *this;
-- char *device;
-+ const char* device;
-+ int r;
-
- lprintf ("audio_pulse_out: open_plugin called\n");
-
- this = (pulse_driver_t *) xine_xmalloc (sizeof (pulse_driver_t));
- if (!this)
- return NULL;
-+
- this->xine = class->xine;
-+ this->host = NULL;
-+ this->sink = NULL;
-+ this->context = NULL;
-+ this->mainloop = NULL;
-+
-+ device = class->xine->config->register_string(class->xine->config,
-+ "audio.pulseaudio_device",
-+ "",
-+ _("device used for pulseaudio"),
-+ _("use 'server[:sink]' for setting the "
-+ "pulseaudio sink device."),
-+ 10, NULL,
-+ NULL);
-+
-+ if (device && *device) {
-+ char *sep = strrchr(device, ':');
-+ if ( sep ) {
-+ if (!(this->host = strndup(device, sep-device))) {
-+ free(this);
-+ return NULL;
-+ }
-+
-+ if (!(this->sink = strdup(sep+1))) {
-+ free(this->host);
-+ free(this);
-+ return NULL;
-+ }
-+ } else {
-+
-+ if (!(this->host = strdup(device))) {
-+ free(this);
-+ return NULL;
-+ }
-+ }
-+ }
-+
-+ this->mainloop = pa_threaded_mainloop_new();
-+ _x_assert(this->mainloop);
-+ pa_threaded_mainloop_start(this->mainloop);
-
- /*
- * set capabilities
- */
-- this->capabilities = AO_CAP_MODE_MONO | AO_CAP_MODE_STEREO | AO_CAP_MODE_4CHANNEL |
-- AO_CAP_MODE_4_1CHANNEL | AO_CAP_MODE_5CHANNEL |
-- AO_CAP_MODE_5_1CHANNEL | AO_CAP_MIXER_VOL |
-- AO_CAP_PCM_VOL | AO_CAP_MUTE_VOL | AO_CAP_8BITS |
-- AO_CAP_16BITS | AO_CAP_FLOAT32;
-+ this->capabilities =
-+ AO_CAP_MODE_MONO | AO_CAP_MODE_STEREO | AO_CAP_MODE_4CHANNEL |
-+ AO_CAP_MODE_4_1CHANNEL | AO_CAP_MODE_5CHANNEL | AO_CAP_MODE_5_1CHANNEL |
-+ AO_CAP_MIXER_VOL | AO_CAP_PCM_VOL | AO_CAP_MUTE_VOL |
-+ AO_CAP_8BITS | AO_CAP_16BITS | AO_CAP_FLOAT32;
-
- this->sample_rate = 0;
-- this->host = NULL;
-- this->sink = NULL;
--
-+
- this->ao_driver.get_capabilities = ao_pulse_get_capabilities;
- this->ao_driver.get_property = ao_pulse_get_property;
- this->ao_driver.set_property = ao_pulse_set_property;
-@@ -541,33 +790,22 @@ static ao_driver_t *open_plugin (audio_d
- this->ao_driver.close = ao_pulse_close;
- this->ao_driver.exit = ao_pulse_exit;
- this->ao_driver.get_gap_tolerance = ao_pulse_get_gap_tolerance;
-- this->ao_driver.control = ao_pulse_ctrl;
--
-- device = this->xine->config->register_string(this->xine->config,
-- "audio.pulseaudio_device",
-- "",
-- _("device used for pulseaudio"),
-- _("use 'server[:sink]' for setting the "
-- "pulseaudio sink device."),
-- 10, NULL,
-- NULL);
--
-- if (device && *device) {
-- char *sep = strchr(device, ':');
-- if ( sep ) {
-- this->host = strndup(device, sep-device);
-- this->sink = strdup(&sep[1]);
-- } else
-- this->host = strdup(device);
-- }
--
-- pthread_mutex_init(&this->info_mutex, NULL);
-+ this->ao_driver.control = ao_pulse_ctrl;
-
- xprintf (class->xine, XINE_VERBOSITY_DEBUG, "audio_pulse_out: host %s sink %s\n",
- this->host ? this->host : "(null)", this->sink ? this->sink : "(null)");
-
- this->pa_class = class;
-
-+ pa_threaded_mainloop_lock(this->mainloop);
-+ r = connect_context(this);
-+ pa_threaded_mainloop_unlock(this->mainloop);
-+
-+ if (r < 0) {
-+ ao_pulse_exit((ao_driver_t *) this);
-+ return NULL;
-+ }
-+
- return &this->ao_driver;
- }
-
-@@ -587,13 +825,7 @@ static void dispose_class (audio_driver_
-
- pulse_class_t *this = (pulse_class_t *) this_gen;
-
-- if ( this->context )
-- pa_context_unref(this->context);
--
-- pa_threaded_mainloop_stop(this->mainloop);
-- pa_threaded_mainloop_free(this->mainloop);
--
-- free (this);
-+ free(this);
- }
-
- static void *init_class (xine_t *xine, void *data) {
-@@ -606,25 +838,17 @@ static void *init_class (xine_t *xine, v
- if (!this)
- return NULL;
-
-+ this->xine = xine;
- this->driver_class.open_plugin = open_plugin;
- this->driver_class.get_identifier = get_identifier;
- this->driver_class.get_description = get_description;
- this->driver_class.dispose = dispose_class;
-
-- this->xine = xine;
--
-- this->mainloop = pa_threaded_mainloop_new();
-- _x_assert(this->mainloop);
--
-- pa_threaded_mainloop_start(this->mainloop);
--
-- this->context = NULL;
--
- return this;
- }
-
- static const ao_info_t ao_info_pulse = {
-- 6
-+ 12
- };
-
- /*
-@@ -636,5 +860,3 @@ const plugin_info_t xine_plugin_info[] E
- { PLUGIN_AUDIO_OUT, 8, "pulseaudio", XINE_VERSION_CODE, &ao_info_pulse, init_class },
- { PLUGIN_NONE, 0, "", 0, NULL, NULL }
- };
--
--
commit 386e299c4adf4e4d4c11ec50336924783119973e
Author: Ville Skyttä <scop(a)fedoraproject.org>
Date: Wed Apr 9 19:36:16 2008 +0000
* Wed Apr 9 2008 Ville Skyttä <ville.skytta at iki.fi>
- Apply upstream fixes for Quicktime (#441705) and Matroska regressions
introduced in 1.1.11.1.
diff --git a/xine-lib-1.1.11.1-mkv.patch b/xine-lib-1.1.11.1-mkv.patch
new file mode 100644
index 0000000..c835db1
--- /dev/null
+++ b/xine-lib-1.1.11.1-mkv.patch
@@ -0,0 +1,21 @@
+
+# HG changeset patch
+# User Darren Salt <linux(a)youmustbejoking.demon.co.uk>
+# Date 1207353205 -3600
+# Node ID ff20b8db74eabc74b7b95da4c1b44fc5d7f2ec8c
+# Parent 05ebc886fd30158b59a26e03cf2f6f3a52114b24
+Fix a regression in the Matroska demuxer.
+One '&'...
+
+--- a/src/demuxers/ebml.c Fri Apr 04 18:35:33 2008 +0100
++++ b/src/demuxers/ebml.c Sat Apr 05 00:53:25 2008 +0100
+@@ -327,7 +327,7 @@ char *ebml_alloc_read_ascii (ebml_parser
+ if (text)
+ {
+ text[elem->len] = '\0';
+- if (ebml_read_ascii (ebml, &elem, text))
++ if (ebml_read_ascii (ebml, elem, text))
+ return text;
+ free (text);
+ }
+
diff --git a/xine-lib-1.1.11.1-qt.patch b/xine-lib-1.1.11.1-qt.patch
new file mode 100644
index 0000000..54a9c67
--- /dev/null
+++ b/xine-lib-1.1.11.1-qt.patch
@@ -0,0 +1,23 @@
+
+# HG changeset patch
+# User Darren Salt <linux(a)youmustbejoking.demon.co.uk>
+# Date 1206976103 -3600
+# Node ID d8e1305c13820b82d896f7bc77d196b9c9645dd6
+# Parent 2cc583bdc498fd6c95b8a21c10e81a0cef4d63c6
+Revert a change which broke Quicktime atom parsing.
+
+--- a/src/demuxers/demux_qt.c Sun Mar 30 19:48:58 2008 +0100
++++ b/src/demuxers/demux_qt.c Mon Mar 31 16:08:23 2008 +0100
+@@ -895,11 +895,6 @@ static qt_error parse_trak_atom (qt_trak
+ for (i = ATOM_PREAMBLE_SIZE; i < trak_atom_size - 4; i++) {
+ current_atom_size = _X_BE_32(&trak_atom[i - 4]);
+ current_atom = _X_BE_32(&trak_atom[i]);
+-
+- if (current_atom_size > trak_atom_size - i) {
+- last_error = QT_NOT_A_VALID_FILE;
+- goto free_trak;
+- }
+
+ if (current_atom == TKHD_ATOM) {
+ trak->flags = _X_BE_16(&trak_atom[i + 6]);
+
diff --git a/xine-lib.spec b/xine-lib.spec
index a16b152..eb41b78 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -32,7 +32,7 @@
Summary: Xine library
Name: xine-lib
Version: 1.1.11.1
-Release: 2%{?dist}
+Release: 3%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -50,7 +50,9 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
# upstream patches
# lennart said this was upstreamed already. :)
-Patch100: http://0pointer.de/public/xine-pulse-rework2.patch
+Patch100: http://0pointer.de/public/xine-pulse-rework2.patch
+Patch101: %{name}-1.1.11.1-mkv.patch
+Patch102: %{name}-1.1.11.1-qt.patch
Provides: xine-lib(plugin-abi) = %{abiver}
# X11
@@ -182,6 +184,8 @@ touch -r m4/optimizations.m4.stamp m4/optimizations.m4
%patch6 -p1 -b .deepbind
%patch100 -p1 -b .pulse-rework2
+%patch101 -p1 -b .mkv
+%patch102 -p1 -b .qt
# Avoid standard rpaths on lib64 archs:
sed -i -e 's|"/lib /usr/lib\b|"/%{_lib} %{_libdir}|' configure
@@ -403,6 +407,10 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Wed Apr 9 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.11.1-3
+- Apply upstream fixes for Quicktime (#441705) and Matroska regressions
+ introduced in 1.1.11.1.
+
* Mon Apr 07 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.11.1-2
- pulse-rework2 patch (#439731)
- -pulseaudio subpkg (#439731)
commit 269c125c0d939eb7c7fbff61cc22d7e5a663210c
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Mon Apr 7 13:09:55 2008 +0000
* Mon Apr 07 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.11.1-2
- pulse-rework2 patch (#439731)
- -pulseaudio subpkg (#439731)
diff --git a/xine-lib.spec b/xine-lib.spec
index 383882d..a16b152 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -32,7 +32,7 @@
Summary: Xine library
Name: xine-lib
Version: 1.1.11.1
-Release: 1%{?dist}
+Release: 2%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -48,6 +48,10 @@ Patch1: %{name}-1.1.4-optflags.patch
Patch6: %{name}-1.1.1-deepbind-939.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+# upstream patches
+# lennart said this was upstreamed already. :)
+Patch100: http://0pointer.de/public/xine-pulse-rework2.patch
+
Provides: xine-lib(plugin-abi) = %{abiver}
# X11
BuildRequires: libX11-devel
@@ -119,6 +123,7 @@ Requires: zlib-devel
%description devel
This package contains development files for xine-lib.
+# TODO: consider removing and/or marking as deprecated for F9+ -- Rex
%package arts
Summary: aRts plugin for xine-lib
Group: System Environment/Libraries
@@ -129,6 +134,16 @@ Obsoletes: xine-lib-extras < 1.1.7-3
%description arts
This package contains the aRts extra plugin for xine-lib.
+%package pulseaudio
+Summary: Pulseaudio plugin for xine-lib
+Group: System Environment/Libraries
+Requires: %{name} = %{version}-%{release}
+# -pulseaudio was split off -extras at 1.1.11.1-2
+#Obsoletes: xine-lib-extras < 1.1.11.1-2
+
+%description pulseaudio
+This package contains the pulseaudio plugin for xine-lib.
+
%package extras
Summary: Additional plugins for xine-lib
Group: System Environment/Libraries
@@ -138,9 +153,6 @@ Requires: %{name} = %{version}-%{release}
This package contains extra plugins for xine-lib:
- EsounD
- JACK
-%if %{with_pa}
- - Pulseaudio
-%endif # pa
- GDK-Pixbuf
- GNOME VFS
- SMB
@@ -169,6 +181,8 @@ touch -r m4/optimizations.m4.stamp m4/optimizations.m4
# Patch6 needed at least when compiling with external ffmpeg, #939.
%patch6 -p1 -b .deepbind
+%patch100 -p1 -b .pulse-rework2
+
# Avoid standard rpaths on lib64 archs:
sed -i -e 's|"/lib /usr/lib\b|"/%{_lib} %{_libdir}|' configure
@@ -348,13 +362,16 @@ rm -rf $RPM_BUILD_ROOT
%defattr(-,root,root,-)
%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_arts.so
+%if %{with_pa}
+%files pulseaudio
+%defattr(-,root,root,-)
+%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_pulseaudio.so
+%endif
+
%files extras
%defattr(-,root,root,-)
%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_esd.so
%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_jack.so
-%if %{with_pa}
-%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_pulseaudio.so
-%endif # pa
%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_gdk_pixbuf.so
%if 0%{!?_without_imagemagick:1}
%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_image.so
@@ -386,6 +403,10 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Mon Apr 07 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.11.1-2
+- pulse-rework2 patch (#439731)
+- -pulseaudio subpkg (#439731)
+
* Sun Mar 30 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.11.1-1
- 1.1.11.1 (security update, #438663, CVE-2008-1482).
- Provide versioned xine-lib(plugin-abi) so 3rd party packages installing
diff --git a/xine-pulse-rework2.patch b/xine-pulse-rework2.patch
new file mode 100644
index 0000000..7f29efb
--- /dev/null
+++ b/xine-pulse-rework2.patch
@@ -0,0 +1,1039 @@
+--- xine-lib-1.1.11.1/src/audio_out/audio_pulse_out.c 2008-03-28 15:24:49.000000000 +0100
++++ xine-lib-1.1.11.1.lennart/src/audio_out/audio_pulse_out.c 2008-04-02 22:55:49.000000000 +0200
+@@ -1,28 +1,28 @@
+-/*
+- * Copyright (C) 2000-2007 the xine project
+- *
++/* -*- Mode: C; c-basic-offset: 2; indent-tabs-mode: nil -*- */
++
++/*
++ * Copyright (C) 2000-2008 the xine project
++ *
+ * This file is part of xine, a free video player.
+- *
++ *
+ * xine is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+- *
++ *
+ * xine 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 General Public License for more details.
+- *
++ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
+ *
+- * ao plugin for pulseaudio (rename of polypaudio):
++ * ao plugin for PulseAudio:
+ * http://0pointer.de/lennart/projects/pulsaudio/
+ *
+- * originally written for polypaudio simple api. Lennart then suggested
+- * using the async api for better control (such as volume), therefore, a lot
+- * of this code comes from Lennart's patch to mplayer.
++ * Diego Petteno, Lennart Poettering
+ */
+
+ #ifdef HAVE_CONFIG_H
+@@ -48,15 +48,9 @@
+
+ #define GAP_TOLERANCE AO_MAX_GAP
+
+-/* CHECKME: should this be conditional on autotools? */
+-extern const char *__progname;
+-
+ typedef struct {
+ audio_driver_class_t driver_class;
+ xine_t *xine;
+-
+- struct pa_context *context; /*< Pulseaudio connection context */
+- struct pa_threaded_mainloop *mainloop; /*< Main event loop object */
+ } pulse_class_t;
+
+ typedef struct pulse_driver_s {
+@@ -67,11 +61,13 @@ typedef struct pulse_driver_s {
+
+ char *host; /*< The host to connect to */
+ char *sink; /*< The sink to connect to */
+- struct pa_stream *stream; /*< Pulseaudio playback stream object */
+
+- pthread_mutex_t info_mutex; /**< Mutex for info callback signaling */
++ pa_threaded_mainloop *mainloop; /*< Main event loop object */
++ pa_context *context; /*< Pulseaudio connection context */
++ pa_stream *stream; /*< Pulseaudio playback stream object */
+
+ pa_volume_t swvolume;
++ int muted;
+ pa_cvolume cvolume;
+
+ int capabilities;
+@@ -82,67 +78,117 @@ typedef struct pulse_driver_s {
+ uint32_t bits_per_sample;
+ uint32_t bytes_per_frame;
+
+- uint32_t frames_written;
+-
+ } pulse_driver_t;
+
+
+ /**
+- * @brief Callback function called when a stream operation succeed
+- * @param stream Stream which operation has succeeded
+- * @param success The success value for the operation (ignored)
+- * @param this_Gen pulse_driver_t pointer for the PulseAudio output
+- * instance.
++ * @brief Callback function called when the state of the context is changed
++ * @param c Context which changed status
++ * @param this_gen pulse_class_t pointer for the PulseAudio output class
+ */
+-static void __xine_pa_stream_success_callback(pa_stream *const stream, const int success,
+- void *const mutex_gen)
++static void __xine_pa_context_state_callback(pa_context *c, void *this_gen)
+ {
+- pthread_mutex_t *const completion_mutex = (pthread_mutex_t*)mutex_gen;
++ pulse_driver_t * this = (pulse_driver_t*) this_gen;
++
++ switch (pa_context_get_state(c)) {
++
++ case PA_CONTEXT_READY:
++ case PA_CONTEXT_TERMINATED:
++ case PA_CONTEXT_FAILED:
++ pa_threaded_mainloop_signal(this->mainloop, 0);
++ break;
+
+- pthread_mutex_unlock(completion_mutex);
++ case PA_CONTEXT_CONNECTING:
++ case PA_CONTEXT_UNCONNECTED:
++ case PA_CONTEXT_AUTHORIZING:
++ case PA_CONTEXT_SETTING_NAME:
++ break;
++ }
+ }
+
+ /**
+- * @brief Callback function called when the state of the context is changed
+- * @param ctx Context which operation has succeeded
++ * @brief Callback function called when the state of the stream is changed
++ * @param s Stream that changed status
+ * @param this_gen pulse_driver_t pointer for the PulseAudio output
+ * instance.
+ */
+-static void __xine_pa_context_status_callback(pa_context *const ctx, void *const this_gen)
++static void __xine_pa_stream_state_callback(pa_stream *s, void *this_gen)
+ {
+- pulse_driver_t *const this = (pulse_driver_t*)this_gen;
++ pulse_driver_t * this = (pulse_driver_t*) this_gen;
++
++ switch (pa_stream_get_state(s)) {
++
++ case PA_STREAM_READY:
++ case PA_STREAM_TERMINATED:
++ case PA_STREAM_FAILED:
++ pa_threaded_mainloop_signal(this->mainloop, 0);
++ break;
+
+- switch (pa_context_get_state(ctx)) {
+- case PA_CONTEXT_READY:
+- case PA_CONTEXT_TERMINATED:
+- case PA_CONTEXT_FAILED:
+- pa_threaded_mainloop_signal(this->pa_class->mainloop, 0);
+- break;
+-
+- case PA_CONTEXT_CONNECTING:
+- case PA_CONTEXT_UNCONNECTED:
+- case PA_CONTEXT_AUTHORIZING:
+- case PA_CONTEXT_SETTING_NAME:
+- break;
++ case PA_STREAM_UNCONNECTED:
++ case PA_STREAM_CREATING:
++ break;
+ }
+ }
+
+ /**
+- * @brief Callback function called when a context operation succeed
++ * @brief Callback function called when PA asks for more audio data.
++ * @param s Stream on which data is requested
++ * @param nbytes the number of bytes PA requested
++ * @param this_gen pulse_driver_t pointer for the PulseAudio output
++ * instance.
++ */
++static void __xine_pa_stream_request_callback(pa_stream *s, size_t nbytes, void *this_gen)
++{
++ pulse_driver_t * this = (pulse_driver_t*) this_gen;
++
++ pa_threaded_mainloop_signal(this->mainloop, 0);
++}
++
++/**
++ * @brief Callback function called when PA notifies about something
++ * @param s Stream on which the notification happened
++ * @param this_gen pulse_driver_t pointer for the PulseAudio output
++ * instance.
++ */
++static void __xine_pa_stream_notify_callback(pa_stream *s, void *this_gen)
++{
++ pulse_driver_t * this = (pulse_driver_t*) this_gen;
++
++ pa_threaded_mainloop_signal(this->mainloop, 0);
++}
++
++/**
++ * @brief Callback function called when PA completed an operation
+ * @param ctx Context which operation has succeeded
+- * @param success The success value for the operation (ignored)
++ * @param nbytes the number of bytes PA requested
+ * @param this_gen pulse_driver_t pointer for the PulseAudio output
+ * instance.
+ */
+-static void __xine_pa_context_success_callback(pa_context *const ctx, const int success,
+- void *const this_gen)
++static void __xine_pa_stream_success_callback(pa_stream *s, int success, void *this_gen)
+ {
+- pulse_driver_t *const this = (pulse_driver_t*)this_gen;
++ pulse_driver_t * this = (pulse_driver_t*) this_gen;
+
+- _x_assert(ctx); _x_assert(this);
+- _x_assert(ctx == this->pa_class->context);
++ if (!success)
++ xprintf (this->xine, XINE_VERBOSITY_DEBUG, "audio_pulse_out: stream operation failed: %s\n", pa_strerror(pa_context_errno(this->context)));
+
+- pa_threaded_mainloop_signal(this->pa_class->mainloop, 0);
++ pa_threaded_mainloop_signal(this->mainloop, 0);
++}
++
++/**
++ * @brief Callback function called when PA completed an operation
++ * @param c Context on which operation has succeeded
++ * @param nbytes the number of bytes PA requested
++ * @param this_gen pulse_driver_t pointer for the PulseAudio output
++ * instance.
++ */
++static void __xine_pa_context_success_callback(pa_context *c, int success, void *this_gen)
++{
++ pulse_driver_t *this = (pulse_driver_t*) this_gen;
++
++ if (!success)
++ xprintf (this->xine, XINE_VERBOSITY_DEBUG, "audio_pulse_out: context operation failed: %s\n", pa_strerror(pa_context_errno(this->context)));
++
++ pa_threaded_mainloop_signal(this->mainloop, 0);
+ }
+
+ /**
+@@ -156,14 +202,14 @@ static void __xine_pa_context_success_ca
+ * This function saves the volume field of the passed structure to the
+ * @c cvolume variable of the output instance.
+ */
+-static void __xine_pa_sink_info_callback(pa_context *const ctx, const pa_sink_input_info *const info,
+- const int is_last, void *const userdata) {
++static void __xine_pa_sink_info_callback(pa_context *c, const pa_sink_input_info *info,
++ int is_last, void *userdata) {
+
+ pulse_driver_t *const this = (pulse_driver_t *) userdata;
+
+ if (is_last < 0) {
+ xprintf (this->xine, XINE_VERBOSITY_DEBUG, "audio_pulse_out: Failed to get sink input info: %s\n",
+- pa_strerror(pa_context_errno(this->pa_class->context)));
++ pa_strerror(pa_context_errno(this->context)));
+ return;
+ }
+
+@@ -171,36 +217,90 @@ static void __xine_pa_sink_info_callback
+ return;
+
+ this->cvolume = info->volume;
++ this->swvolume = pa_sw_volume_to_linear(pa_cvolume_avg(&info->volume));
++ this->muted = info->mute;
++}
++
++static int connect_context(pulse_driver_t *this) {
++
++ if (this->context && (pa_context_get_state(this->context) == PA_CONTEXT_FAILED ||
++ pa_context_get_state(this->context) == PA_CONTEXT_TERMINATED)) {
++ pa_context_unref(this->context);
++ this->context = NULL;
++ }
++
++ if (!this->context) {
++ char fn[PATH_MAX], *p;
++
++ if (pa_get_binary_name(fn, sizeof(fn)))
++ p = pa_path_get_filename(fn);
++ else
++ p = "Xine";
+
+- pthread_mutex_unlock(&this->info_mutex);
++ this->context = pa_context_new(pa_threaded_mainloop_get_api(this->mainloop), p);
++ _x_assert(this->context);
++
++ pa_context_set_state_callback(this->context, __xine_pa_context_state_callback, this);
++ }
++
++ if (pa_context_get_state(this->context) == PA_CONTEXT_UNCONNECTED) {
++
++ if (pa_context_connect(this->context, this->host, 0, NULL) < 0) {
++ xprintf (this->xine, XINE_VERBOSITY_DEBUG, "audio_pulse_out: failed to connect context object %s\n", pa_strerror(pa_context_errno(this->context)));
++ return -1;
++ }
++ }
++
++ for (;;) {
++ pa_context_state_t state = pa_context_get_state(this->context);
++
++ if (state == PA_CONTEXT_FAILED || state == PA_CONTEXT_TERMINATED) {
++ xprintf (this->xine, XINE_VERBOSITY_DEBUG, "audio_pulse_out: failed to connect context object: %s\n", pa_strerror(pa_context_errno(this->context)));
++ return -1;
++ }
++
++ if (state == PA_CONTEXT_READY)
++ break;
++
++ pa_threaded_mainloop_wait(this->mainloop);
++ }
++
++ return 0;
+ }
+
+ /*
+ * open the audio device for writing to
+ */
+ static int ao_pulse_open(ao_driver_t *this_gen,
+- uint32_t bits, uint32_t rate, int mode)
++ uint32_t bits, uint32_t rate, int mode)
+ {
+ pulse_driver_t *this = (pulse_driver_t *) this_gen;
+- struct pa_sample_spec ss;
+- struct pa_buffer_attr a;
+- pa_stream_state_t streamstate;
++ pa_sample_spec ss;
++ pa_channel_map cm;
++ int r;
+
+ xprintf (this->xine, XINE_VERBOSITY_DEBUG,
+- "audio_pulse_out: ao_open bits=%d rate=%d, mode=%d\n", bits, rate, mode);
++ "audio_pulse_out: ao_open bits=%d rate=%d, mode=%d\n", bits, rate, mode);
+
+ if ( (mode & this->capabilities) == 0 ) {
+ xprintf (this->xine, XINE_VERBOSITY_DEBUG, "audio_pulse_out: unsupported mode %08x\n", mode);
+ return 0;
+ }
+
++ pa_threaded_mainloop_lock(this->mainloop);
++
+ if (this->stream) {
+
+- if ( mode == this->mode && rate == this->sample_rate &&
+- bits == this->bits_per_sample )
++ if (mode == this->mode && rate == this->sample_rate &&
++ bits == this->bits_per_sample) {
++
++ pa_threaded_mainloop_unlock(this->mainloop);
+ return this->sample_rate;
++ }
+
+- this_gen->close(this_gen);
++ pa_stream_disconnect(this->stream);
++ pa_stream_unref(this->stream);
++ this->stream = NULL;
+ }
+
+ this->mode = mode;
+@@ -221,6 +321,8 @@ static int ao_pulse_open(ao_driver_t *th
+ case 32:
+ ss.format = PA_SAMPLE_FLOAT32NE;
+ break;
++ default:
++ _x_assert(!"Should not be reached");
+ }
+
+ if (!pa_sample_spec_valid(&ss)) {
+@@ -228,70 +330,86 @@ static int ao_pulse_open(ao_driver_t *th
+ goto fail;
+ }
+
+- if ( this->pa_class->context && pa_context_get_state(this->pa_class->context) > PA_CONTEXT_READY ) {
+- pa_context_unref(this->pa_class->context);
+- this->pa_class->context = NULL;
+- }
+-
+- if ( this->pa_class->context == NULL ) {
+- this->pa_class->context = pa_context_new(pa_threaded_mainloop_get_api(this->pa_class->mainloop),
+- __progname);
+- }
+-
+- pa_context_ref(this->pa_class->context);
++ cm.channels = ss.channels;
+
+- if ( pa_context_get_state(this->pa_class->context) == PA_CONTEXT_UNCONNECTED ) {
+- int ret;
++ switch (mode) {
++ case AO_CAP_MODE_MONO:
++ cm.map[0] = PA_CHANNEL_POSITION_MONO;
++ _x_assert(cm.channels == 1);
++ break;
+
+- pa_threaded_mainloop_lock(this->pa_class->mainloop);
+- ret = pa_context_connect(this->pa_class->context, this->host, 1, NULL);
+- if ( ret < 0 )
+- goto fail_unlock;
++ case AO_CAP_MODE_STEREO:
++ cm.map[0] = PA_CHANNEL_POSITION_FRONT_LEFT;
++ cm.map[1] = PA_CHANNEL_POSITION_FRONT_RIGHT;
++ _x_assert(cm.channels == 2);
++ break;
+
+- pa_context_set_state_callback(this->pa_class->context, __xine_pa_context_status_callback, this);
++ case AO_CAP_MODE_4CHANNEL:
++ cm.map[0] = PA_CHANNEL_POSITION_FRONT_LEFT;
++ cm.map[1] = PA_CHANNEL_POSITION_FRONT_RIGHT;
++ cm.map[2] = PA_CHANNEL_POSITION_REAR_LEFT;
++ cm.map[3] = PA_CHANNEL_POSITION_REAR_RIGHT;
++ _x_assert(cm.channels == 4);
++ break;
+
+- pa_threaded_mainloop_wait(this->pa_class->mainloop);
+- pa_threaded_mainloop_unlock(this->pa_class->mainloop);
++ case AO_CAP_MODE_4_1CHANNEL:
++ case AO_CAP_MODE_5CHANNEL:
++ case AO_CAP_MODE_5_1CHANNEL:
++ cm.map[0] = PA_CHANNEL_POSITION_FRONT_LEFT;
++ cm.map[1] = PA_CHANNEL_POSITION_FRONT_RIGHT;
++ cm.map[2] = PA_CHANNEL_POSITION_REAR_LEFT;
++ cm.map[3] = PA_CHANNEL_POSITION_REAR_RIGHT;
++ cm.map[4] = PA_CHANNEL_POSITION_FRONT_CENTER;
++ cm.map[5] = PA_CHANNEL_POSITION_LFE;
++ cm.channels = 6;
++ break;
++ default:
++ _x_assert(!"Should not be reached");
+ }
+
+- if (pa_context_get_state(this->pa_class->context) != PA_CONTEXT_READY) {
+- xprintf (this->xine, XINE_VERBOSITY_DEBUG, "audio_pulse_out: Failed to connect to server: %s\n",
+- pa_strerror(pa_context_errno(this->pa_class->context)));
++ if (!pa_channel_map_valid(&cm)) {
++ xprintf (this->xine, XINE_VERBOSITY_DEBUG, "audio_pulse_out: Invalid channel map\n");
+ goto fail;
+ }
+
+- this->stream = pa_stream_new(this->pa_class->context, "audio stream", &ss, NULL);
++ if (connect_context(this) < 0)
++ goto fail;
++
++ _x_assert(!this->stream);
++ this->stream = pa_stream_new(this->context, "Audio Stream", &ss, &cm);
+ _x_assert(this->stream);
+
+- a.maxlength = pa_bytes_per_second(&ss)*1;
+- a.tlength = a.maxlength*9/10;
+- a.prebuf = a.tlength/2;
+- a.minreq = a.tlength/10;
++ pa_stream_set_state_callback(this->stream, __xine_pa_stream_state_callback, this);
++ pa_stream_set_write_callback(this->stream, __xine_pa_stream_request_callback, this);
++ pa_stream_set_latency_update_callback(this->stream, __xine_pa_stream_notify_callback, this);
+
+- pa_stream_connect_playback(this->stream, this->sink, &a,
+- PA_STREAM_INTERPOLATE_TIMING|PA_STREAM_AUTO_TIMING_UPDATE,
++ r = pa_stream_connect_playback(this->stream, this->sink, NULL,
++ PA_STREAM_INTERPOLATE_TIMING|PA_STREAM_AUTO_TIMING_UPDATE,
+ NULL, NULL);
+
+- do {
+- xine_usec_sleep (100);
++ for (;;) {
++ pa_context_state_t cstate = pa_context_get_state(this->context);
++ pa_stream_state_t sstate = pa_stream_get_state(this->stream);
++
++ if (cstate == PA_CONTEXT_FAILED || cstate == PA_CONTEXT_TERMINATED ||
++ sstate == PA_STREAM_FAILED || sstate == PA_STREAM_TERMINATED) {
++ xprintf (this->xine, XINE_VERBOSITY_DEBUG, "audio_pulse_out: failed to connect context object: %s\n", pa_strerror(pa_context_errno(this->context)));
++ goto fail;
++ }
+
+- streamstate = pa_stream_get_state(this->stream);
+- } while (streamstate < PA_STREAM_READY);
+-
+- if (streamstate != PA_STREAM_READY) {
+- xprintf (this->xine, XINE_VERBOSITY_LOG, "audio_pulse_out: Failed to connect to server: %s\n",
+- pa_strerror(pa_context_errno(this->pa_class->context)));
+- goto fail;
++ if (sstate == PA_STREAM_READY)
++ break;
++
++ pa_threaded_mainloop_wait(this->mainloop);
+ }
+- this->frames_written = 0;
+
+- this->ao_driver.set_property(this, AO_PROP_PCM_VOL, 100);
++ pa_threaded_mainloop_unlock(this->mainloop);
+
+ return this->sample_rate;
+
+- fail_unlock:
+- pa_threaded_mainloop_unlock(this->pa_class->mainloop);
+ fail:
++
++ pa_threaded_mainloop_unlock(this->mainloop);
+ this_gen->close(this_gen);
+ return 0;
+ }
+@@ -319,217 +437,348 @@ static int ao_pulse_write(ao_driver_t *t
+ {
+ pulse_driver_t *this = (pulse_driver_t *) this_gen;
+ size_t size = num_frames * this->bytes_per_frame;
+- int ret = 0;
+-
+- if ( !this->stream || !this->pa_class->context)
+- return -1;
+-
+- switch( pa_stream_get_state(this->stream) ) {
+- case PA_STREAM_READY:
+- while (size > 0) {
+- size_t l;
++ int ret = -1;
++ size_t done = 0;
+
+- while (!(l = pa_stream_writable_size(this->stream))) {
+- xine_usec_sleep (10000);
+- }
++ pa_threaded_mainloop_lock(this->mainloop);
+
+- if (l > size)
+- l = size;
+-
+- pa_stream_write(this->stream, data, l, NULL, 0, PA_SEEK_RELATIVE);
+- data = (int16_t *) ((uint8_t*) data + l);
+- size -= l;
+- }
++ while (size > 0) {
++ size_t l;
+
+- this->frames_written += num_frames;
++ for (;;) {
+
+- if (pa_stream_get_state(this->stream) == PA_STREAM_READY)
+- ret = 1;
++ if (!this->stream ||
++ !this->context ||
++ pa_context_get_state(this->context) != PA_CONTEXT_READY ||
++ pa_stream_get_state(this->stream) != PA_STREAM_READY)
++ goto finish;
+
+- break;
++ if ((l = pa_stream_writable_size(this->stream)) == (size_t) -1)
++ goto finish;
++
++ if (l > 0)
++ break;
++
++ pa_threaded_mainloop_wait(this->mainloop);
++ }
++
++ if (l > size)
++ l = size;
++
++ pa_stream_write(this->stream, data, l, NULL, 0, PA_SEEK_RELATIVE);
++ data = (int16_t *) ((uint8_t*) data + l);
++ size -= l;
++ done += l;
+ }
+
++ ret = done;
++
++finish:
++
++ pa_threaded_mainloop_unlock(this->mainloop);
++
++/* fprintf(stderr, "write-out\n"); */
++
+ return ret;
+-}
+
++}
+
+ static int ao_pulse_delay (ao_driver_t *this_gen)
+ {
+ pulse_driver_t *this = (pulse_driver_t *) this_gen;
+- pa_usec_t latency = 0;
+- unsigned int delay_frames;
++ int ret = 0;
+
+- if ( ! this->stream ) return this->frames_written;
++/* fprintf(stderr, "delay-in\n"); */
+
+- if (pa_stream_get_latency(this->stream, &latency, NULL) < 0) {
+- pa_context_unref(this->pa_class->context);
+- this->pa_class->context = NULL;
++ pa_threaded_mainloop_lock(this->mainloop);
+
+- pa_stream_disconnect(this->stream);
+- pa_stream_unref(this->stream);
+- this->stream = NULL;
++ for (;;) {
++ pa_usec_t latency = 0;
+
+- return 0;
++ if (!this->stream ||
++ !this->context ||
++ pa_context_get_state(this->context) != PA_CONTEXT_READY ||
++ pa_stream_get_state(this->stream) != PA_STREAM_READY)
++ goto finish;
++
++ if (pa_stream_get_latency(this->stream, &latency, NULL) >= 0) {
++ ret = (int) ((latency * this->sample_rate) / 1000000);
++ goto finish;
++ }
++
++ if (pa_context_errno(this->context) != PA_ERR_NODATA) {
++ xprintf (this->xine, XINE_VERBOSITY_DEBUG, "audio_pulse_out: failed to query latency: %s\n", pa_strerror(pa_context_errno(this->context)));
++ goto finish;
++ }
++
++ pa_threaded_mainloop_wait(this->mainloop);
+ }
+
+- /* convert latency (us) to frame units. */
+- delay_frames = (int)(latency * this->sample_rate / 1000000);
++finish:
+
+- if( delay_frames > this->frames_written )
+- return this->frames_written;
+- else
+- return delay_frames;
++ pa_threaded_mainloop_unlock(this->mainloop);
++
++ return ret;
+ }
+
+ static void ao_pulse_close(ao_driver_t *this_gen)
+ {
+ pulse_driver_t *this = (pulse_driver_t *) this_gen;
+-
+- if (this->stream) {
+- if (pa_stream_get_state(this->stream) == PA_STREAM_READY) {
+- pthread_mutex_t completion_callback = PTHREAD_MUTEX_INITIALIZER; pthread_mutex_lock(&completion_callback);
+- pa_stream_drain(this->stream, __xine_pa_stream_success_callback, &completion_callback);
+
+- pthread_mutex_lock(&completion_callback);
+- pthread_mutex_destroy(&completion_callback);
+- }
++ pa_threaded_mainloop_lock(this->mainloop);
+
++ if (this->stream) {
+ pa_stream_disconnect(this->stream);
+ pa_stream_unref(this->stream);
+ this->stream = NULL;
+-
+- pa_context_unref(this->pa_class->context);
+ }
++
++ pa_threaded_mainloop_unlock(this->mainloop);
+ }
+
+ static uint32_t ao_pulse_get_capabilities (ao_driver_t *this_gen) {
+ pulse_driver_t *this = (pulse_driver_t *) this_gen;
++
+ return this->capabilities;
+ }
+
+-static void ao_pulse_exit(ao_driver_t *this_gen)
+-{
++static void ao_pulse_exit(ao_driver_t *this_gen) {
+ pulse_driver_t *this = (pulse_driver_t *) this_gen;
+
+- free (this);
++ ao_pulse_close(this_gen);
++
++ pa_threaded_mainloop_lock(this->mainloop);
++
++ if (this->context) {
++ pa_context_disconnect(this->context);
++ pa_context_unref(this->context);
++ }
++
++ pa_threaded_mainloop_unlock(this->mainloop);
++
++ pa_threaded_mainloop_free(this->mainloop);
++
++ free(this->host);
++ free(this->sink);
++ free(this);
++}
++
++static int wait_for_operation(pulse_driver_t *this, pa_operation *o) {
++
++ for (;;) {
++
++ if (!this->stream ||
++ !this->context ||
++ pa_context_get_state(this->context) != PA_CONTEXT_READY ||
++ pa_stream_get_state(this->stream) != PA_STREAM_READY)
++ return -1;
++
++ if (pa_operation_get_state(o) != PA_OPERATION_RUNNING)
++ return 0;
++
++ pa_threaded_mainloop_wait(this->mainloop);
++ }
+ }
+
+ static int ao_pulse_get_property (ao_driver_t *this_gen, int property) {
+ pulse_driver_t *this = (pulse_driver_t *) this_gen;
+ int result = 0;
++ pa_operation *o = NULL;
+
+- if ( ! this->stream || ! this->pa_class->context )
++ pa_threaded_mainloop_lock(this->mainloop);
++
++ if (!this->stream ||
++ !this->context ||
++ pa_context_get_state(this->context) != PA_CONTEXT_READY ||
++ pa_stream_get_state(this->stream) != PA_STREAM_READY) {
++ pa_threaded_mainloop_unlock(this->mainloop);
+ return 0;
++ }
+
+ switch(property) {
+- case AO_PROP_PCM_VOL:
+- case AO_PROP_MIXER_VOL:
+- {
+- pthread_mutex_lock(&this->info_mutex);
+- pa_operation *o = pa_context_get_sink_input_info(this->pa_class->context,
+- pa_stream_get_index(this->stream),
+- __xine_pa_sink_info_callback, this);
+- if ( ! o ) return 0;
+- pthread_mutex_lock(&this->info_mutex); pthread_mutex_unlock(&this->info_mutex);
+-
+- result = (pa_sw_volume_to_linear(this->swvolume)*100);
+- }
+- break;
+
+- case AO_PROP_MUTE_VOL:
+- result = pa_cvolume_is_muted(&this->cvolume);
+- break;
++ case AO_PROP_MUTE_VOL:
++ case AO_PROP_PCM_VOL:
++ case AO_PROP_MIXER_VOL:
++
++ o = pa_context_get_sink_input_info(this->context, pa_stream_get_index(this->stream),
++ __xine_pa_sink_info_callback, this);
++
++ break;
++ }
++
++ if (o) {
++ wait_for_operation(this, o);
++ pa_operation_unref(o);
+ }
+-
++
++ switch(property) {
++
++ case AO_PROP_MUTE_VOL:
++ result = this->muted;
++ break;
++
++ case AO_PROP_PCM_VOL:
++ case AO_PROP_MIXER_VOL:
++ result = (int) (pa_sw_volume_to_linear(this->swvolume)*100);
++ break;
++ }
++
++ pa_threaded_mainloop_unlock(this->mainloop);
++
+ return result;
+ }
+
+ static int ao_pulse_set_property (ao_driver_t *this_gen, int property, int value) {
+ pulse_driver_t *this = (pulse_driver_t *) this_gen;
+ int result = ~value;
++ pa_operation *o = NULL;
+
+- if ( ! this->stream || ! this->pa_class->context )
+- return result;
++ pa_threaded_mainloop_lock(this->mainloop);
++
++ if (!this->stream ||
++ !this->context ||
++ pa_context_get_state(this->context) != PA_CONTEXT_READY ||
++ pa_stream_get_state(this->stream) != PA_STREAM_READY) {
++ pa_threaded_mainloop_unlock(this->mainloop);
++ return 0;
++ }
+
+ switch(property) {
+- case AO_PROP_PCM_VOL:
+- case AO_PROP_MIXER_VOL:
+- this->swvolume = pa_sw_volume_from_linear((double)value/100.0);
+- pa_cvolume_set(&this->cvolume, pa_stream_get_sample_spec(this->stream)->channels, this->swvolume);
+-
+- pa_context_set_sink_input_volume(this->pa_class->context, pa_stream_get_index(this->stream),
+- &this->cvolume, __xine_pa_context_success_callback, this);
+-
+- result = value;
+- break;
+-
+- case AO_PROP_MUTE_VOL:
+- if ( value )
+- pa_cvolume_mute(&this->cvolume, pa_stream_get_sample_spec(this->stream)->channels);
+- else
++ case AO_PROP_PCM_VOL:
++ case AO_PROP_MIXER_VOL:
++
++ this->swvolume = pa_sw_volume_from_linear((double)value/100.0);
+ pa_cvolume_set(&this->cvolume, pa_stream_get_sample_spec(this->stream)->channels, this->swvolume);
+
+- pa_context_set_sink_input_volume(this->pa_class->context, pa_stream_get_index(this->stream),
+- &this->cvolume, __xine_pa_context_success_callback, this);
+-
+- result = value;
+- break;
++ o = pa_context_set_sink_input_volume(this->context, pa_stream_get_index(this->stream),
++ &this->cvolume, __xine_pa_context_success_callback, this);
++
++ result = value;
++ break;
++
++ case AO_PROP_MUTE_VOL:
++
++ this->muted = value;
++
++ o = pa_context_set_sink_input_mute(this->context, pa_stream_get_index(this->stream),
++ value, __xine_pa_context_success_callback, this);
++
++ result = value;
++ }
++
++ if (o) {
++ wait_for_operation(this, o);
++ pa_operation_unref(o);
+ }
+-
++
++ pa_threaded_mainloop_unlock(this->mainloop);
++
+ return result;
+ }
+
+ static int ao_pulse_ctrl(ao_driver_t *this_gen, int cmd, ...) {
+ pulse_driver_t *this = (pulse_driver_t *) this_gen;
++ pa_operation *o = NULL;
++
++ pa_threaded_mainloop_lock(this->mainloop);
+
+- if ( ! this->stream ) return 0;
++ if (!this->stream ||
++ !this->context ||
++ pa_context_get_state(this->context) != PA_CONTEXT_READY ||
++ pa_stream_get_state(this->stream) != PA_STREAM_READY) {
++ pa_threaded_mainloop_unlock(this->mainloop);
++ return 0;
++ }
+
+ switch (cmd) {
+
+- case AO_CTRL_FLUSH_BUFFERS:
+- _x_assert(this->stream && this->pa_class->context);
++ case AO_CTRL_FLUSH_BUFFERS:
+
+- if(pa_stream_get_state(this->stream) == PA_STREAM_READY) {
+- pthread_mutex_t completion_callback = PTHREAD_MUTEX_INITIALIZER; pthread_mutex_lock(&completion_callback);
+- pa_stream_flush(this->stream, __xine_pa_stream_success_callback, &completion_callback);
++ o = pa_stream_flush(this->stream, __xine_pa_stream_success_callback, this);
++ break;
+
+- pthread_mutex_lock(&completion_callback);
+- pthread_mutex_destroy(&completion_callback);
+- }
++ case AO_CTRL_PLAY_RESUME:
++ case AO_CTRL_PLAY_PAUSE:
+
+- this->frames_written = 0;
++ o = pa_stream_cork(this->stream, cmd == AO_CTRL_PLAY_PAUSE, __xine_pa_stream_success_callback, this);
++ break;
++ }
+
+- break;
++ if (o) {
++ wait_for_operation(this, o);
++ pa_operation_unref(o);
+ }
+
++ pa_threaded_mainloop_unlock(this->mainloop);
++
+ return 0;
+ }
+
+ static ao_driver_t *open_plugin (audio_driver_class_t *class_gen, const void *data) {
+ pulse_class_t *class = (pulse_class_t *) class_gen;
+ pulse_driver_t *this;
+- char *device;
++ const char* device;
++ int r;
+
+ lprintf ("audio_pulse_out: open_plugin called\n");
+
+ this = (pulse_driver_t *) xine_xmalloc (sizeof (pulse_driver_t));
+ if (!this)
+ return NULL;
++
+ this->xine = class->xine;
++ this->host = NULL;
++ this->sink = NULL;
++ this->context = NULL;
++ this->mainloop = NULL;
++
++ device = class->xine->config->register_string(class->xine->config,
++ "audio.pulseaudio_device",
++ "",
++ _("device used for pulseaudio"),
++ _("use 'server[:sink]' for setting the "
++ "pulseaudio sink device."),
++ 10, NULL,
++ NULL);
++
++ if (device && *device) {
++ char *sep = strrchr(device, ':');
++ if ( sep ) {
++ if (!(this->host = strndup(device, sep-device))) {
++ free(this);
++ return NULL;
++ }
++
++ if (!(this->sink = strdup(sep+1))) {
++ free(this->host);
++ free(this);
++ return NULL;
++ }
++ } else {
++
++ if (!(this->host = strdup(device))) {
++ free(this);
++ return NULL;
++ }
++ }
++ }
++
++ this->mainloop = pa_threaded_mainloop_new();
++ _x_assert(this->mainloop);
++ pa_threaded_mainloop_start(this->mainloop);
+
+ /*
+ * set capabilities
+ */
+- this->capabilities = AO_CAP_MODE_MONO | AO_CAP_MODE_STEREO | AO_CAP_MODE_4CHANNEL |
+- AO_CAP_MODE_4_1CHANNEL | AO_CAP_MODE_5CHANNEL |
+- AO_CAP_MODE_5_1CHANNEL | AO_CAP_MIXER_VOL |
+- AO_CAP_PCM_VOL | AO_CAP_MUTE_VOL | AO_CAP_8BITS |
+- AO_CAP_16BITS | AO_CAP_FLOAT32;
++ this->capabilities =
++ AO_CAP_MODE_MONO | AO_CAP_MODE_STEREO | AO_CAP_MODE_4CHANNEL |
++ AO_CAP_MODE_4_1CHANNEL | AO_CAP_MODE_5CHANNEL | AO_CAP_MODE_5_1CHANNEL |
++ AO_CAP_MIXER_VOL | AO_CAP_PCM_VOL | AO_CAP_MUTE_VOL |
++ AO_CAP_8BITS | AO_CAP_16BITS | AO_CAP_FLOAT32;
+
+ this->sample_rate = 0;
+- this->host = NULL;
+- this->sink = NULL;
+-
++
+ this->ao_driver.get_capabilities = ao_pulse_get_capabilities;
+ this->ao_driver.get_property = ao_pulse_get_property;
+ this->ao_driver.set_property = ao_pulse_set_property;
+@@ -541,33 +790,22 @@ static ao_driver_t *open_plugin (audio_d
+ this->ao_driver.close = ao_pulse_close;
+ this->ao_driver.exit = ao_pulse_exit;
+ this->ao_driver.get_gap_tolerance = ao_pulse_get_gap_tolerance;
+- this->ao_driver.control = ao_pulse_ctrl;
+-
+- device = this->xine->config->register_string(this->xine->config,
+- "audio.pulseaudio_device",
+- "",
+- _("device used for pulseaudio"),
+- _("use 'server[:sink]' for setting the "
+- "pulseaudio sink device."),
+- 10, NULL,
+- NULL);
+-
+- if (device && *device) {
+- char *sep = strchr(device, ':');
+- if ( sep ) {
+- this->host = strndup(device, sep-device);
+- this->sink = strdup(&sep[1]);
+- } else
+- this->host = strdup(device);
+- }
+-
+- pthread_mutex_init(&this->info_mutex, NULL);
++ this->ao_driver.control = ao_pulse_ctrl;
+
+ xprintf (class->xine, XINE_VERBOSITY_DEBUG, "audio_pulse_out: host %s sink %s\n",
+ this->host ? this->host : "(null)", this->sink ? this->sink : "(null)");
+
+ this->pa_class = class;
+
++ pa_threaded_mainloop_lock(this->mainloop);
++ r = connect_context(this);
++ pa_threaded_mainloop_unlock(this->mainloop);
++
++ if (r < 0) {
++ ao_pulse_exit((ao_driver_t *) this);
++ return NULL;
++ }
++
+ return &this->ao_driver;
+ }
+
+@@ -587,13 +825,7 @@ static void dispose_class (audio_driver_
+
+ pulse_class_t *this = (pulse_class_t *) this_gen;
+
+- if ( this->context )
+- pa_context_unref(this->context);
+-
+- pa_threaded_mainloop_stop(this->mainloop);
+- pa_threaded_mainloop_free(this->mainloop);
+-
+- free (this);
++ free(this);
+ }
+
+ static void *init_class (xine_t *xine, void *data) {
+@@ -606,25 +838,17 @@ static void *init_class (xine_t *xine, v
+ if (!this)
+ return NULL;
+
++ this->xine = xine;
+ this->driver_class.open_plugin = open_plugin;
+ this->driver_class.get_identifier = get_identifier;
+ this->driver_class.get_description = get_description;
+ this->driver_class.dispose = dispose_class;
+
+- this->xine = xine;
+-
+- this->mainloop = pa_threaded_mainloop_new();
+- _x_assert(this->mainloop);
+-
+- pa_threaded_mainloop_start(this->mainloop);
+-
+- this->context = NULL;
+-
+ return this;
+ }
+
+ static const ao_info_t ao_info_pulse = {
+- 6
++ 12
+ };
+
+ /*
+@@ -636,5 +860,3 @@ const plugin_info_t xine_plugin_info[] E
+ { PLUGIN_AUDIO_OUT, 8, "pulseaudio", XINE_VERSION_CODE, &ao_info_pulse, init_class },
+ { PLUGIN_NONE, 0, "", 0, NULL, NULL }
+ };
+-
+-
commit bd1cc3b82943cbd42ec5fcc61af83077db98b518
Author: Ville Skyttä <scop(a)fedoraproject.org>
Date: Sun Mar 30 18:50:26 2008 +0000
* Sun Mar 30 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.11.1-1
- 1.1.11.1 (security update, #438663, CVE-2008-1482).
- Provide versioned xine-lib(plugin-abi) so 3rd party packages installing
plugins can use it instead of requiring a version of xine-lib.
diff --git a/.cvsignore b/.cvsignore
index b01f673..907cc99 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -1,2 +1,2 @@
-xine-lib-1.1.11-pruned.tar.bz2
-xine-lib-1.1.11-autotools.patch.bz2
+xine-lib-1.1.11.1-pruned.tar.bz2
+xine-lib-1.1.11.1-autotools.patch.bz2
diff --git a/sources b/sources
index 9f141e7..7c8f9d9 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-40d8c51a914ed20b8499c5da9cf57bc0 xine-lib-1.1.11-pruned.tar.bz2
-bb30e6af99e5abfcb6133fbe347be7eb xine-lib-1.1.11-autotools.patch.bz2
+b6a4fe9dd2ec80452870a8bfbb3974f0 xine-lib-1.1.11.1-pruned.tar.bz2
+c257bf0b964d25592f1c612149ae2c7a xine-lib-1.1.11.1-autotools.patch.bz2
diff --git a/xine-lib.spec b/xine-lib.spec
index e65a622..383882d 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -8,7 +8,8 @@
# http://www.redhat.com/archives/fedora-devel-list/2007-August/msg01411.html
# - external dvdnav - not compatible as of 1.1.11 and 4.1.1
-%define codecdir %{_libdir}/codecs
+%define abiver 1.20
+%define codecdir %{_libdir}/codecs
%ifarch %{ix86}
%define have_vidix 1
@@ -30,7 +31,7 @@
Summary: Xine library
Name: xine-lib
-Version: 1.1.11
+Version: 1.1.11.1
Release: 1%{?dist}
License: GPLv2+
Group: System Environment/Libraries
@@ -46,6 +47,8 @@ Patch0: %{name}-%{version}-autotools.patch.bz2
Patch1: %{name}-1.1.4-optflags.patch
Patch6: %{name}-1.1.1-deepbind-939.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+
+Provides: xine-lib(plugin-abi) = %{abiver}
# X11
BuildRequires: libX11-devel
BuildRequires: libXv-devel
@@ -243,132 +246,132 @@ rm -rf $RPM_BUILD_ROOT
%{_mandir}/man5/xine.5*
%dir %{_libdir}/xine/
%dir %{_libdir}/xine/plugins/
-%dir %{_libdir}/xine/plugins/*/
-%{_libdir}/xine/plugins/*/mime.types
+%dir %{_libdir}/xine/plugins/%{abiver}/
+%{_libdir}/xine/plugins/%{abiver}/mime.types
# Listing every plugin separately for better control over binary packages
# containing exactly the plugins we want, nothing accidentally snuck in
# nor dropped.
-%dir %{_libdir}/xine/plugins/*/post/
-%{_libdir}/xine/plugins/*/post/xineplug_post_audio_filters.so
-%{_libdir}/xine/plugins/*/post/xineplug_post_goom.so
-%{_libdir}/xine/plugins/*/post/xineplug_post_mosaico.so
-%{_libdir}/xine/plugins/*/post/xineplug_post_switch.so
-%{_libdir}/xine/plugins/*/post/xineplug_post_visualizations.so
+%dir %{_libdir}/xine/plugins/%{abiver}/post/
+%{_libdir}/xine/plugins/%{abiver}/post/xineplug_post_audio_filters.so
+%{_libdir}/xine/plugins/%{abiver}/post/xineplug_post_goom.so
+%{_libdir}/xine/plugins/%{abiver}/post/xineplug_post_mosaico.so
+%{_libdir}/xine/plugins/%{abiver}/post/xineplug_post_switch.so
+%{_libdir}/xine/plugins/%{abiver}/post/xineplug_post_visualizations.so
%if %{have_vidix}
-%dir %{_libdir}/xine/plugins/*/vidix/
-%{_libdir}/xine/plugins/*/vidix/cyberblade_vid.so
-%{_libdir}/xine/plugins/*/vidix/mach64_vid.so
-%{_libdir}/xine/plugins/*/vidix/mga_crtc2_vid.so
-%{_libdir}/xine/plugins/*/vidix/mga_vid.so
-%{_libdir}/xine/plugins/*/vidix/nvidia_vid.so
-%{_libdir}/xine/plugins/*/vidix/pm2_vid.so
-%{_libdir}/xine/plugins/*/vidix/pm3_vid.so
-%{_libdir}/xine/plugins/*/vidix/radeon_vid.so
-%{_libdir}/xine/plugins/*/vidix/rage128_vid.so
-%{_libdir}/xine/plugins/*/vidix/savage_vid.so
-%{_libdir}/xine/plugins/*/vidix/sis_vid.so
-%{_libdir}/xine/plugins/*/vidix/unichrome_vid.so
+%dir %{_libdir}/xine/plugins/%{abiver}/vidix/
+%{_libdir}/xine/plugins/%{abiver}/vidix/cyberblade_vid.so
+%{_libdir}/xine/plugins/%{abiver}/vidix/mach64_vid.so
+%{_libdir}/xine/plugins/%{abiver}/vidix/mga_crtc2_vid.so
+%{_libdir}/xine/plugins/%{abiver}/vidix/mga_vid.so
+%{_libdir}/xine/plugins/%{abiver}/vidix/nvidia_vid.so
+%{_libdir}/xine/plugins/%{abiver}/vidix/pm2_vid.so
+%{_libdir}/xine/plugins/%{abiver}/vidix/pm3_vid.so
+%{_libdir}/xine/plugins/%{abiver}/vidix/radeon_vid.so
+%{_libdir}/xine/plugins/%{abiver}/vidix/rage128_vid.so
+%{_libdir}/xine/plugins/%{abiver}/vidix/savage_vid.so
+%{_libdir}/xine/plugins/%{abiver}/vidix/sis_vid.so
+%{_libdir}/xine/plugins/%{abiver}/vidix/unichrome_vid.so
%endif # vidix
-%{_libdir}/xine/plugins/*/xineplug_ao_out_alsa.so
-%{_libdir}/xine/plugins/*/xineplug_ao_out_file.so
-%{_libdir}/xine/plugins/*/xineplug_ao_out_none.so
-%{_libdir}/xine/plugins/*/xineplug_ao_out_oss.so
-%{_libdir}/xine/plugins/*/xineplug_decode_bitplane.so
-%{_libdir}/xine/plugins/*/xineplug_decode_gsm610.so
-%{_libdir}/xine/plugins/*/xineplug_decode_lpcm.so
-%{_libdir}/xine/plugins/*/xineplug_decode_mpc.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_alsa.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_file.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_none.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_oss.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_bitplane.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_gsm610.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_lpcm.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_mpc.so
%ifarch %ix86
-%{_libdir}/xine/plugins/*/xineplug_decode_qt.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_qt.so
%endif # ix86
-%{_libdir}/xine/plugins/*/xineplug_decode_real.so
-%{_libdir}/xine/plugins/*/xineplug_decode_rgb.so
-%{_libdir}/xine/plugins/*/xineplug_decode_speex.so
-%{_libdir}/xine/plugins/*/xineplug_decode_spu.so
-%{_libdir}/xine/plugins/*/xineplug_decode_spucc.so
-%{_libdir}/xine/plugins/*/xineplug_decode_spucmml.so
-%{_libdir}/xine/plugins/*/xineplug_decode_spudvb.so
-%{_libdir}/xine/plugins/*/xineplug_decode_sputext.so
-%{_libdir}/xine/plugins/*/xineplug_decode_theora.so
-%{_libdir}/xine/plugins/*/xineplug_decode_vorbis.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_real.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_rgb.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_speex.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_spu.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_spucc.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_spucmml.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_spudvb.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_sputext.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_theora.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_vorbis.so
%ifarch %ix86
-%{_libdir}/xine/plugins/*/xineplug_decode_w32dll.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_w32dll.so
%endif # ix86
-%{_libdir}/xine/plugins/*/xineplug_decode_yuv.so
-%{_libdir}/xine/plugins/*/xineplug_dmx_audio.so
-%{_libdir}/xine/plugins/*/xineplug_dmx_avi.so
-%{_libdir}/xine/plugins/*/xineplug_dmx_fli.so
-%{_libdir}/xine/plugins/*/xineplug_dmx_flv.so
-%{_libdir}/xine/plugins/*/xineplug_dmx_games.so
-%{_libdir}/xine/plugins/*/xineplug_dmx_iff.so
-%{_libdir}/xine/plugins/*/xineplug_dmx_image.so
-%{_libdir}/xine/plugins/*/xineplug_dmx_matroska.so
-%{_libdir}/xine/plugins/*/xineplug_dmx_mng.so
-%{_libdir}/xine/plugins/*/xineplug_dmx_nsv.so
-%{_libdir}/xine/plugins/*/xineplug_dmx_ogg.so
-%{_libdir}/xine/plugins/*/xineplug_dmx_pva.so
-%{_libdir}/xine/plugins/*/xineplug_dmx_qt.so
-%{_libdir}/xine/plugins/*/xineplug_dmx_rawdv.so
-%{_libdir}/xine/plugins/*/xineplug_dmx_real.so
-%{_libdir}/xine/plugins/*/xineplug_dmx_slave.so
-%{_libdir}/xine/plugins/*/xineplug_dmx_sputext.so
-%{_libdir}/xine/plugins/*/xineplug_dmx_yuv_frames.so
-%{_libdir}/xine/plugins/*/xineplug_flac.so
-%{_libdir}/xine/plugins/*/xineplug_inp_cdda.so
-%{_libdir}/xine/plugins/*/xineplug_inp_dvb.so
-%{_libdir}/xine/plugins/*/xineplug_inp_file.so
-%{_libdir}/xine/plugins/*/xineplug_inp_http.so
-%{_libdir}/xine/plugins/*/xineplug_inp_net.so
-%{_libdir}/xine/plugins/*/xineplug_inp_pnm.so
-%{_libdir}/xine/plugins/*/xineplug_inp_pvr.so
-%{_libdir}/xine/plugins/*/xineplug_inp_rtp.so
-%{_libdir}/xine/plugins/*/xineplug_inp_rtsp.so
-%{_libdir}/xine/plugins/*/xineplug_inp_stdin_fifo.so
-%{_libdir}/xine/plugins/*/xineplug_inp_v4l.so
-%{_libdir}/xine/plugins/*/xineplug_vo_out_fb.so
-%{_libdir}/xine/plugins/*/xineplug_vo_out_none.so
-%{_libdir}/xine/plugins/*/xineplug_vo_out_opengl.so
-%{_libdir}/xine/plugins/*/xineplug_vo_out_syncfb.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_yuv.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_audio.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_avi.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_fli.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_flv.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_games.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_iff.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_image.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_matroska.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_mng.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_nsv.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_ogg.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_pva.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_qt.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_rawdv.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_real.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_slave.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_sputext.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_yuv_frames.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_flac.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_cdda.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_dvb.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_file.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_http.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_net.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_pnm.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_pvr.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_rtp.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_rtsp.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_stdin_fifo.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_v4l.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_fb.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_none.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_opengl.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_syncfb.so
%if %{have_vidix}
-%{_libdir}/xine/plugins/*/xineplug_vo_out_vidix.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_vidix.so
%endif # vidix
%if %{with_xcb}
-%{_libdir}/xine/plugins/*/xineplug_vo_out_xcbshm.so
-%{_libdir}/xine/plugins/*/xineplug_vo_out_xcbxv.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_xcbshm.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_xcbxv.so
%endif # xcb
-%{_libdir}/xine/plugins/*/xineplug_vo_out_xshm.so
-%{_libdir}/xine/plugins/*/xineplug_vo_out_xv.so
-%{_libdir}/xine/plugins/*/xineplug_vo_out_xvmc.so
-%{_libdir}/xine/plugins/*/xineplug_vo_out_xxmc.so
-%{_libdir}/xine/plugins/*/xineplug_wavpack.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_xshm.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_xv.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_xvmc.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_xxmc.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_wavpack.so
%files arts
%defattr(-,root,root,-)
-%{_libdir}/xine/plugins/*/xineplug_ao_out_arts.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_arts.so
%files extras
%defattr(-,root,root,-)
-%{_libdir}/xine/plugins/*/xineplug_ao_out_esd.so
-%{_libdir}/xine/plugins/*/xineplug_ao_out_jack.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_esd.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_jack.so
%if %{with_pa}
-%{_libdir}/xine/plugins/*/xineplug_ao_out_pulseaudio.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_pulseaudio.so
%endif # pa
-%{_libdir}/xine/plugins/*/xineplug_decode_gdk_pixbuf.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_gdk_pixbuf.so
%if 0%{!?_without_imagemagick:1}
-%{_libdir}/xine/plugins/*/xineplug_decode_image.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_image.so
%endif # imagemagick
-%{_libdir}/xine/plugins/*/xineplug_inp_gnome_vfs.so
-%{_libdir}/xine/plugins/*/xineplug_inp_smb.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_gnome_vfs.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_smb.so
%if %{with_aalib}
-%{_libdir}/xine/plugins/*/xineplug_vo_out_aa.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_aa.so
%endif # aalib
%if %{with_caca}
-%{_libdir}/xine/plugins/*/xineplug_vo_out_caca.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_caca.so
%endif # caca
%if 0%{!?_without_directfb:1}
-%{_libdir}/xine/plugins/*/xineplug_vo_out_directfb.so
-%{_libdir}/xine/plugins/*/xineplug_vo_out_xdirectfb.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_directfb.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_xdirectfb.so
%endif # directfb
-%{_libdir}/xine/plugins/*/xineplug_vo_out_sdl.so
+%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_sdl.so
%files devel
%defattr(-,root,root,-)
@@ -383,6 +386,11 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Sun Mar 30 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.11.1-1
+- 1.1.11.1 (security update, #438663, CVE-2008-1482).
+- Provide versioned xine-lib(plugin-abi) so 3rd party packages installing
+ plugins can use it instead of requiring a version of xine-lib.
+
* Wed Mar 19 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.11-1
- 1.1.11 (security update, #438182, CVE-2008-0073).
- Drop jack and wavpack build conditionals.
commit 298d6d095f7e40cba839918c9b4ef56a4b54be2f
Author: Ville Skyttä <scop(a)fedoraproject.org>
Date: Wed Mar 19 19:51:59 2008 +0000
* Wed Mar 19 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.11-1
- 1.1.11 (security update, #438182, CVE-2008-0073).
- Drop jack and wavpack build conditionals.
- Specfile cleanups.
diff --git a/.cvsignore b/.cvsignore
index bb4470f..b01f673 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -1,2 +1,2 @@
-xine-lib-1.1.10.1-pruned.tar.bz2
-xine-lib-1.1.10.1-autotools.patch.bz2
+xine-lib-1.1.11-pruned.tar.bz2
+xine-lib-1.1.11-autotools.patch.bz2
diff --git a/sources b/sources
index 028f7ca..9f141e7 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-3e78ed0690314436b0a74d1d11535fea xine-lib-1.1.10.1-pruned.tar.bz2
-b7e702d0bd235e7102efaa11caea2895 xine-lib-1.1.10.1-autotools.patch.bz2
+40d8c51a914ed20b8499c5da9cf57bc0 xine-lib-1.1.11-pruned.tar.bz2
+bb30e6af99e5abfcb6133fbe347be7eb xine-lib-1.1.11-autotools.patch.bz2
diff --git a/xine-lib-cleanup-sources.sh b/xine-lib-cleanup-sources.sh
index 5710edf..a905a3f 100755
--- a/xine-lib-cleanup-sources.sh
+++ b/xine-lib-cleanup-sources.sh
@@ -21,6 +21,14 @@ rm -rf $dir
tar -xjf $tarball
cd $dir
+rmpluglib()
+{
+ echo "removing src/$1/$2..."
+ rm -rf src/$1/$2
+ sed -i -e "s/SUBDIRS = \(.*\)$2\(.*\)/SUBDIRS = \1\2/g" src/$1/Makefile.am
+ sed -i -e "/^src\/$1\/$2/d" configure.ac
+}
+
# Main libraries
for remove in libfaad libffmpeg libmad libmpeg2 dxr3 liba52 libdts; do
echo "removing src/$remove..."
@@ -30,10 +38,10 @@ for remove in libfaad libffmpeg libmad libmpeg2 dxr3 liba52 libdts; do
done
# Input plugin libraries
for remove in vcd; do
- echo "removing src/input/$remove..."
- rm -rf src/input/$remove
- sed -i -e "s/SUBDIRS = \(.*\)${remove}\(.*\)/SUBDIRS = \1\2/g" src/input/Makefile.am
- sed -i -e "/^src\/input\/$remove/d" configure.ac
+ rmpluglib input vcd
+done
+for remove in ffmpeg; do
+ rmpluglib combined ffmpeg
done
# Input plugins
for p in dvd vcd mms; do
diff --git a/xine-lib.spec b/xine-lib.spec
index 9c17a16..e65a622 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -6,35 +6,32 @@
# http://fedoraproject.org/wiki/Releases/FeaturePulseaudio
# --> not yet:
# http://www.redhat.com/archives/fedora-devel-list/2007-August/msg01411.html
-# - external dvdnav - not compatible as of 1.1.9.1 and 4.1.1
+# - external dvdnav - not compatible as of 1.1.11 and 4.1.1
%define codecdir %{_libdir}/codecs
+
%ifarch %{ix86}
%define have_vidix 1
%else
%define have_vidix 0
%endif # ix86
-%if 0%{?fedora} > 6
- %define with_xcb %{?_without_xcb:0}%{!?_without_xcb:1}
-%else
- %define with_xcb %{?_with_xcb:1}%{!?_with_xcb:0}
-%endif # >= F8
- %define with_jack %{?_without_jack:0}%{!?_without_jack:1}
- %define with_wpack %{?_without_wavpack:0}%{!?_without_wavpack:1}
+
%if 0%{?fedora}
%define with_aalib %{?_without_aalib:0}%{!?_without_aalib:1}
%define with_caca %{?_without_caca:0}%{!?_without_caca:1}
%define with_pa %{?_without_pulseaudio:0}%{!?_without_pulseaudio:1}
+ %define with_xcb %{?_without_xcb:0}%{!?_without_xcb:1}
%else
%define with_aalib %{?_with_aalib:1}%{!?_with_aalib:0}
%define with_caca %{?_with_caca:1}%{!?_with_caca:0}
%define with_pa %{?_with_pulseaudio:1}%{!?_with_pulseaudio:0}
+ %define with_xcb %{?_with_xcb:1}%{!?_with_xcb:0}
%endif # Fedora
Summary: Xine library
Name: xine-lib
-Version: 1.1.10.1
-Release: 1%{?dist}.1
+Version: 1.1.11
+Release: 1%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -50,13 +47,18 @@ Patch1: %{name}-1.1.4-optflags.patch
Patch6: %{name}-1.1.1-deepbind-939.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
# X11
-BuildRequires: libX11-devel libXv-devel libXinerama-devel libXvMC-devel
+BuildRequires: libX11-devel
+BuildRequires: libXv-devel
+BuildRequires: libXinerama-devel
+BuildRequires: libXvMC-devel
BuildRequires: libGLU-devel
%if %{with_xcb}
BuildRequires: libxcb-devel
%endif # xcb
# Video
-BuildRequires: SDL-devel libtheora-devel libmng-devel
+BuildRequires: SDL-devel
+BuildRequires: libtheora-devel
+BuildRequires: libmng-devel
%if %{with_aalib}
BuildRequires: aalib-devel >= 1.4
%endif # aalib
@@ -73,41 +75,27 @@ BuildRequires: ImageMagick-devel >= 6.2.4.6-1
BuildRequires: fontconfig-devel
%endif # freetype
# Audio
-BuildRequires: libogg-devel libvorbis-devel flac-devel libmodplug-devel
-BuildRequires: esound-devel speex-devel arts-devel alsa-lib-devel >= 0.9.0
+BuildRequires: libogg-devel
+BuildRequires: libvorbis-devel
+BuildRequires: flac-devel
+BuildRequires: libmodplug-devel
+BuildRequires: esound-devel
+BuildRequires: speex-devel
+BuildRequires: arts-devel
+BuildRequires: alsa-lib-devel >= 0.9.0
BuildRequires: libmpcdec-devel
-%if %{with_wpack}
BuildRequires: wavpack-devel
-%endif # wpack
%if %{with_pa}
BuildRequires: pulseaudio-lib-devel
%endif # pa
-%if %{with_jack}
BuildRequires: jack-audio-connection-kit-devel
-%endif # jack
# CDs
BuildRequires: libcdio-devel
# Other
-BuildRequires: pkgconfig gnome-vfs2-devel gtk2-devel libsmbclient-devel
-
-%package devel
-Summary: Xine library development files
-Group: Development/Libraries
-Requires: %{name} = %{version}-%{release}
-Requires: pkgconfig zlib-devel
-
-%package arts
-Summary: aRts plugin for xine-lib
-Group: System Environment/Libraries
-Requires: %{name} = %{version}-%{release}
-# -arts was split off the -extras subpackage at 1.1.7-3
-Obsoletes: xine-lib-extras < 1.1.7-3
-
-%package extras
-Summary: Additional plugins for xine-lib
-Group: System Environment/Libraries
-Requires: %{name} = %{version}-%{release}
-
+BuildRequires: pkgconfig
+BuildRequires: gnome-vfs2-devel
+BuildRequires: gtk2-devel
+BuildRequires: libsmbclient-devel
%description
This package contains the Xine library. Xine is a free multimedia player.
@@ -116,21 +104,37 @@ disk drives, and displays multimedia streamed over the Internet. It
interprets many of the most common multimedia formats available - and some
of the most uncommon formats, too. --with/--without rpmbuild options
(some default values depend on target distribution): aalib, caca, directfb,
-imagemagick, freetype, antialiasing (with freetype), jack, pulseaudio,
-wavpack, xcb.
+imagemagick, freetype, antialiasing (with freetype), pulseaudio, xcb.
+
+%package devel
+Summary: Xine library development files
+Group: Development/Libraries
+Requires: %{name} = %{version}-%{release}
+Requires: pkgconfig
+Requires: zlib-devel
-%description devel
+%description devel
This package contains development files for xine-lib.
-%description arts
+%package arts
+Summary: aRts plugin for xine-lib
+Group: System Environment/Libraries
+Requires: %{name} = %{version}-%{release}
+# -arts was split off the -extras subpackage at 1.1.7-3
+Obsoletes: xine-lib-extras < 1.1.7-3
+
+%description arts
This package contains the aRts extra plugin for xine-lib.
-%description extras
+%package extras
+Summary: Additional plugins for xine-lib
+Group: System Environment/Libraries
+Requires: %{name} = %{version}-%{release}
+
+%description extras
This package contains extra plugins for xine-lib:
- EsounD
-%if %{with_jack}
- JACK
-%endif # jack
%if %{with_pa}
- Pulseaudio
%endif # pa
@@ -197,9 +201,7 @@ export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)"
--without-imagemagick \
%endif # imagemagick
--with-arts \
-%if %{with_wpack}
--with-wavpack \
-%endif
--with-real-codecs-path=%{codecdir} \
--with-w32-path=%{codecdir}
@@ -337,9 +339,7 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/*/xineplug_vo_out_xv.so
%{_libdir}/xine/plugins/*/xineplug_vo_out_xvmc.so
%{_libdir}/xine/plugins/*/xineplug_vo_out_xxmc.so
-%if %{with_wpack}
%{_libdir}/xine/plugins/*/xineplug_wavpack.so
-%endif # wpack
%files arts
%defattr(-,root,root,-)
@@ -348,9 +348,7 @@ rm -rf $RPM_BUILD_ROOT
%files extras
%defattr(-,root,root,-)
%{_libdir}/xine/plugins/*/xineplug_ao_out_esd.so
-%if %{with_jack}
%{_libdir}/xine/plugins/*/xineplug_ao_out_jack.so
-%endif # jack
%if %{with_pa}
%{_libdir}/xine/plugins/*/xineplug_ao_out_pulseaudio.so
%endif # pa
@@ -385,6 +383,11 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Wed Mar 19 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.11-1
+- 1.1.11 (security update, #438182, CVE-2008-0073).
+- Drop jack and wavpack build conditionals.
+- Specfile cleanups.
+
* Fri Mar 7 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.10.1-1.1
- xcb support for f7+ (#373411)
commit 2990be646a5b8f92ec6d3efe3dd5511b78e16929
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Fri Mar 7 14:31:37 2008 +0000
* Fri Mar 7 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.10.1-1.1
- xcb support for f7+ (#373411)
diff --git a/xine-lib.spec b/xine-lib.spec
index eadfc22..9c17a16 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -14,7 +14,7 @@
%else
%define have_vidix 0
%endif # ix86
-%if 0%{?fedora} >= 8
+%if 0%{?fedora} > 6
%define with_xcb %{?_without_xcb:0}%{!?_without_xcb:1}
%else
%define with_xcb %{?_with_xcb:1}%{!?_with_xcb:0}
@@ -34,7 +34,7 @@
Summary: Xine library
Name: xine-lib
Version: 1.1.10.1
-Release: 1%{?dist}
+Release: 1%{?dist}.1
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -385,6 +385,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Fri Mar 7 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.10.1-1.1
+- xcb support for f7+ (#373411)
+
* Fri Feb 8 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.10.1-1
- 1.1.10.1 (security update, #431541).
commit 05ea833ad6bac4dae632fed17aab0df5a2e9b13b
Author: Ville Skyttä <scop(a)fedoraproject.org>
Date: Fri Feb 8 19:46:29 2008 +0000
* Fri Feb 8 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.10.1-1
- 1.1.10.1 (security update, #431541).
diff --git a/.cvsignore b/.cvsignore
index e2128b7..bb4470f 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -1,2 +1,2 @@
-xine-lib-1.1.10-pruned.tar.bz2
-xine-lib-1.1.10-autotools.patch.bz2
+xine-lib-1.1.10.1-pruned.tar.bz2
+xine-lib-1.1.10.1-autotools.patch.bz2
diff --git a/sources b/sources
index ef97526..028f7ca 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-4989b50fd279ed69b03816233cefa657 xine-lib-1.1.10-pruned.tar.bz2
-8bc0516867b8032729a298b0dfe77527 xine-lib-1.1.10-autotools.patch.bz2
+3e78ed0690314436b0a74d1d11535fea xine-lib-1.1.10.1-pruned.tar.bz2
+b7e702d0bd235e7102efaa11caea2895 xine-lib-1.1.10.1-autotools.patch.bz2
diff --git a/xine-lib-1.1.5-multilib-devel.patch b/xine-lib-1.1.5-multilib-devel.patch
deleted file mode 100644
index 5b5d05d..0000000
--- a/xine-lib-1.1.5-multilib-devel.patch
+++ /dev/null
@@ -1,40 +0,0 @@
---- misc/xine-config.in~ 2007-04-05 01:18:00.000000000 +0300
-+++ misc/xine-config.in 2007-04-11 01:32:44.000000000 +0300
-@@ -2,8 +2,8 @@
- #
- #
-
--prefix=@XINE_CONFIG_PREFIX@
--exec_prefix=@exec_prefix@
-+prefix=$(pkg-config libxine --variable=prefix)
-+exec_prefix=$(pkg-config libxine --variable=exec_prefix)
- exec_prefix_set=no
-
- usage()
-@@ -54,7 +54,7 @@
- echo_exec_prefix=yes
- ;;
- --version)
-- echo @XINE_MAJOR@.@XINE_MINOR@.(a)XINE_SUB@
-+ pkg-config libxine --modversion
- ;;
- --acflags)
- echo_acflags=yes
-@@ -100,14 +100,14 @@
- fi
-
- if test "$echo_cflags" = "yes"; then
-- echo -I@includedir@ @PTHREAD_CFLAGS@
-+ pkg-config libxine --cflags
- fi
-
- if test "$echo_libs" = "yes"; then
-- echo -L@libdir@ -lxine @ZLIB_LIBS@ @NET_LIBS@ @PTHREAD_LIBS@ @LIBICONV@ @RT_LIBS@
-+ pkg-config libxine --libs
- fi
- if test "$echo_plugindir" = "yes"; then
-- echo "@XINE_PLUGINPATH@"
-+ echo "$(pkg-config libxine --variable=libdir)/xine/plugins/$(pkg-config libxine --modversion)"
- fi
- if test "$echo_datadir" = "yes"; then
- echo "@XINE_DATADIR@"
diff --git a/xine-lib-1.1.9.1-aoclose-429182.patch b/xine-lib-1.1.9.1-aoclose-429182.patch
deleted file mode 100644
index e90c6be..0000000
--- a/xine-lib-1.1.9.1-aoclose-429182.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-http://thread.gmane.org/gmane.comp.video.xine.devel/17682
-
-diff -up xine-lib-1.1.9.1/src/xine-engine/audio_out.c~ xine-lib-1.1.9.1/src/xine-engine/audio_out.c
---- xine-lib-1.1.9.1/src/xine-engine/audio_out.c~ 2008-01-01 15:30:09.000000000 +0200
-+++ xine-lib-1.1.9.1/src/xine-engine/audio_out.c 2008-01-20 11:46:40.000000000 +0200
-@@ -1612,11 +1612,13 @@ static void ao_close(xine_audio_port_t *
- xprintf (this->xine, XINE_VERBOSITY_DEBUG, "audio_out: no streams left, closing driver\n");
-
- if (this->audio_loop_running) {
-+#if 0
- if (this->clock->speed == XINE_SPEED_PAUSE ||
- (this->clock->speed != XINE_FINE_SPEED_NORMAL && !this->slow_fast_audio)) {
- /* discard buffers, otherwise we'll wait forever */
- ao_set_property(this_gen, AO_PROP_DISCARD_BUFFERS, 1);
- }
-+#endif
- /* make sure there are no more buffers on queue */
- fifo_wait_empty(this->out_fifo);
- }
diff --git a/xine-lib.spec b/xine-lib.spec
index 6992539..eadfc22 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -33,8 +33,8 @@
Summary: Xine library
Name: xine-lib
-Version: 1.1.10
-Release: 2%{?dist}
+Version: 1.1.10.1
+Release: 1%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -241,136 +241,136 @@ rm -rf $RPM_BUILD_ROOT
%{_mandir}/man5/xine.5*
%dir %{_libdir}/xine/
%dir %{_libdir}/xine/plugins/
-%dir %{_libdir}/xine/plugins/%{version}/
-%{_libdir}/xine/plugins/%{version}/mime.types
+%dir %{_libdir}/xine/plugins/*/
+%{_libdir}/xine/plugins/*/mime.types
# Listing every plugin separately for better control over binary packages
# containing exactly the plugins we want, nothing accidentally snuck in
# nor dropped.
-%dir %{_libdir}/xine/plugins/%{version}/post/
-%{_libdir}/xine/plugins/%{version}/post/xineplug_post_audio_filters.so
-%{_libdir}/xine/plugins/%{version}/post/xineplug_post_goom.so
-%{_libdir}/xine/plugins/%{version}/post/xineplug_post_mosaico.so
-%{_libdir}/xine/plugins/%{version}/post/xineplug_post_switch.so
-%{_libdir}/xine/plugins/%{version}/post/xineplug_post_visualizations.so
+%dir %{_libdir}/xine/plugins/*/post/
+%{_libdir}/xine/plugins/*/post/xineplug_post_audio_filters.so
+%{_libdir}/xine/plugins/*/post/xineplug_post_goom.so
+%{_libdir}/xine/plugins/*/post/xineplug_post_mosaico.so
+%{_libdir}/xine/plugins/*/post/xineplug_post_switch.so
+%{_libdir}/xine/plugins/*/post/xineplug_post_visualizations.so
%if %{have_vidix}
-%dir %{_libdir}/xine/plugins/%{version}/vidix/
-%{_libdir}/xine/plugins/%{version}/vidix/cyberblade_vid.so
-%{_libdir}/xine/plugins/%{version}/vidix/mach64_vid.so
-%{_libdir}/xine/plugins/%{version}/vidix/mga_crtc2_vid.so
-%{_libdir}/xine/plugins/%{version}/vidix/mga_vid.so
-%{_libdir}/xine/plugins/%{version}/vidix/nvidia_vid.so
-%{_libdir}/xine/plugins/%{version}/vidix/pm2_vid.so
-%{_libdir}/xine/plugins/%{version}/vidix/pm3_vid.so
-%{_libdir}/xine/plugins/%{version}/vidix/radeon_vid.so
-%{_libdir}/xine/plugins/%{version}/vidix/rage128_vid.so
-%{_libdir}/xine/plugins/%{version}/vidix/savage_vid.so
-%{_libdir}/xine/plugins/%{version}/vidix/sis_vid.so
-%{_libdir}/xine/plugins/%{version}/vidix/unichrome_vid.so
+%dir %{_libdir}/xine/plugins/*/vidix/
+%{_libdir}/xine/plugins/*/vidix/cyberblade_vid.so
+%{_libdir}/xine/plugins/*/vidix/mach64_vid.so
+%{_libdir}/xine/plugins/*/vidix/mga_crtc2_vid.so
+%{_libdir}/xine/plugins/*/vidix/mga_vid.so
+%{_libdir}/xine/plugins/*/vidix/nvidia_vid.so
+%{_libdir}/xine/plugins/*/vidix/pm2_vid.so
+%{_libdir}/xine/plugins/*/vidix/pm3_vid.so
+%{_libdir}/xine/plugins/*/vidix/radeon_vid.so
+%{_libdir}/xine/plugins/*/vidix/rage128_vid.so
+%{_libdir}/xine/plugins/*/vidix/savage_vid.so
+%{_libdir}/xine/plugins/*/vidix/sis_vid.so
+%{_libdir}/xine/plugins/*/vidix/unichrome_vid.so
%endif # vidix
-%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_alsa.so
-%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_file.so
-%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_none.so
-%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_oss.so
-%{_libdir}/xine/plugins/%{version}/xineplug_decode_bitplane.so
-%{_libdir}/xine/plugins/%{version}/xineplug_decode_gsm610.so
-%{_libdir}/xine/plugins/%{version}/xineplug_decode_lpcm.so
-%{_libdir}/xine/plugins/%{version}/xineplug_decode_mpc.so
+%{_libdir}/xine/plugins/*/xineplug_ao_out_alsa.so
+%{_libdir}/xine/plugins/*/xineplug_ao_out_file.so
+%{_libdir}/xine/plugins/*/xineplug_ao_out_none.so
+%{_libdir}/xine/plugins/*/xineplug_ao_out_oss.so
+%{_libdir}/xine/plugins/*/xineplug_decode_bitplane.so
+%{_libdir}/xine/plugins/*/xineplug_decode_gsm610.so
+%{_libdir}/xine/plugins/*/xineplug_decode_lpcm.so
+%{_libdir}/xine/plugins/*/xineplug_decode_mpc.so
%ifarch %ix86
-%{_libdir}/xine/plugins/%{version}/xineplug_decode_qt.so
+%{_libdir}/xine/plugins/*/xineplug_decode_qt.so
%endif # ix86
-%{_libdir}/xine/plugins/%{version}/xineplug_decode_real.so
-%{_libdir}/xine/plugins/%{version}/xineplug_decode_rgb.so
-%{_libdir}/xine/plugins/%{version}/xineplug_decode_speex.so
-%{_libdir}/xine/plugins/%{version}/xineplug_decode_spu.so
-%{_libdir}/xine/plugins/%{version}/xineplug_decode_spucc.so
-%{_libdir}/xine/plugins/%{version}/xineplug_decode_spucmml.so
-%{_libdir}/xine/plugins/%{version}/xineplug_decode_spudvb.so
-%{_libdir}/xine/plugins/%{version}/xineplug_decode_sputext.so
-%{_libdir}/xine/plugins/%{version}/xineplug_decode_theora.so
-%{_libdir}/xine/plugins/%{version}/xineplug_decode_vorbis.so
+%{_libdir}/xine/plugins/*/xineplug_decode_real.so
+%{_libdir}/xine/plugins/*/xineplug_decode_rgb.so
+%{_libdir}/xine/plugins/*/xineplug_decode_speex.so
+%{_libdir}/xine/plugins/*/xineplug_decode_spu.so
+%{_libdir}/xine/plugins/*/xineplug_decode_spucc.so
+%{_libdir}/xine/plugins/*/xineplug_decode_spucmml.so
+%{_libdir}/xine/plugins/*/xineplug_decode_spudvb.so
+%{_libdir}/xine/plugins/*/xineplug_decode_sputext.so
+%{_libdir}/xine/plugins/*/xineplug_decode_theora.so
+%{_libdir}/xine/plugins/*/xineplug_decode_vorbis.so
%ifarch %ix86
-%{_libdir}/xine/plugins/%{version}/xineplug_decode_w32dll.so
+%{_libdir}/xine/plugins/*/xineplug_decode_w32dll.so
%endif # ix86
-%{_libdir}/xine/plugins/%{version}/xineplug_decode_yuv.so
-%{_libdir}/xine/plugins/%{version}/xineplug_dmx_audio.so
-%{_libdir}/xine/plugins/%{version}/xineplug_dmx_avi.so
-%{_libdir}/xine/plugins/%{version}/xineplug_dmx_fli.so
-%{_libdir}/xine/plugins/%{version}/xineplug_dmx_flv.so
-%{_libdir}/xine/plugins/%{version}/xineplug_dmx_games.so
-%{_libdir}/xine/plugins/%{version}/xineplug_dmx_iff.so
-%{_libdir}/xine/plugins/%{version}/xineplug_dmx_image.so
-%{_libdir}/xine/plugins/%{version}/xineplug_dmx_matroska.so
-%{_libdir}/xine/plugins/%{version}/xineplug_dmx_mng.so
-%{_libdir}/xine/plugins/%{version}/xineplug_dmx_nsv.so
-%{_libdir}/xine/plugins/%{version}/xineplug_dmx_ogg.so
-%{_libdir}/xine/plugins/%{version}/xineplug_dmx_pva.so
-%{_libdir}/xine/plugins/%{version}/xineplug_dmx_qt.so
-%{_libdir}/xine/plugins/%{version}/xineplug_dmx_rawdv.so
-%{_libdir}/xine/plugins/%{version}/xineplug_dmx_real.so
-%{_libdir}/xine/plugins/%{version}/xineplug_dmx_slave.so
-%{_libdir}/xine/plugins/%{version}/xineplug_dmx_sputext.so
-%{_libdir}/xine/plugins/%{version}/xineplug_dmx_yuv_frames.so
-%{_libdir}/xine/plugins/%{version}/xineplug_flac.so
-%{_libdir}/xine/plugins/%{version}/xineplug_inp_cdda.so
-%{_libdir}/xine/plugins/%{version}/xineplug_inp_dvb.so
-%{_libdir}/xine/plugins/%{version}/xineplug_inp_file.so
-%{_libdir}/xine/plugins/%{version}/xineplug_inp_http.so
-%{_libdir}/xine/plugins/%{version}/xineplug_inp_net.so
-%{_libdir}/xine/plugins/%{version}/xineplug_inp_pnm.so
-%{_libdir}/xine/plugins/%{version}/xineplug_inp_pvr.so
-%{_libdir}/xine/plugins/%{version}/xineplug_inp_rtp.so
-%{_libdir}/xine/plugins/%{version}/xineplug_inp_rtsp.so
-%{_libdir}/xine/plugins/%{version}/xineplug_inp_stdin_fifo.so
-%{_libdir}/xine/plugins/%{version}/xineplug_inp_v4l.so
-%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_fb.so
-%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_none.so
-%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_opengl.so
-%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_syncfb.so
+%{_libdir}/xine/plugins/*/xineplug_decode_yuv.so
+%{_libdir}/xine/plugins/*/xineplug_dmx_audio.so
+%{_libdir}/xine/plugins/*/xineplug_dmx_avi.so
+%{_libdir}/xine/plugins/*/xineplug_dmx_fli.so
+%{_libdir}/xine/plugins/*/xineplug_dmx_flv.so
+%{_libdir}/xine/plugins/*/xineplug_dmx_games.so
+%{_libdir}/xine/plugins/*/xineplug_dmx_iff.so
+%{_libdir}/xine/plugins/*/xineplug_dmx_image.so
+%{_libdir}/xine/plugins/*/xineplug_dmx_matroska.so
+%{_libdir}/xine/plugins/*/xineplug_dmx_mng.so
+%{_libdir}/xine/plugins/*/xineplug_dmx_nsv.so
+%{_libdir}/xine/plugins/*/xineplug_dmx_ogg.so
+%{_libdir}/xine/plugins/*/xineplug_dmx_pva.so
+%{_libdir}/xine/plugins/*/xineplug_dmx_qt.so
+%{_libdir}/xine/plugins/*/xineplug_dmx_rawdv.so
+%{_libdir}/xine/plugins/*/xineplug_dmx_real.so
+%{_libdir}/xine/plugins/*/xineplug_dmx_slave.so
+%{_libdir}/xine/plugins/*/xineplug_dmx_sputext.so
+%{_libdir}/xine/plugins/*/xineplug_dmx_yuv_frames.so
+%{_libdir}/xine/plugins/*/xineplug_flac.so
+%{_libdir}/xine/plugins/*/xineplug_inp_cdda.so
+%{_libdir}/xine/plugins/*/xineplug_inp_dvb.so
+%{_libdir}/xine/plugins/*/xineplug_inp_file.so
+%{_libdir}/xine/plugins/*/xineplug_inp_http.so
+%{_libdir}/xine/plugins/*/xineplug_inp_net.so
+%{_libdir}/xine/plugins/*/xineplug_inp_pnm.so
+%{_libdir}/xine/plugins/*/xineplug_inp_pvr.so
+%{_libdir}/xine/plugins/*/xineplug_inp_rtp.so
+%{_libdir}/xine/plugins/*/xineplug_inp_rtsp.so
+%{_libdir}/xine/plugins/*/xineplug_inp_stdin_fifo.so
+%{_libdir}/xine/plugins/*/xineplug_inp_v4l.so
+%{_libdir}/xine/plugins/*/xineplug_vo_out_fb.so
+%{_libdir}/xine/plugins/*/xineplug_vo_out_none.so
+%{_libdir}/xine/plugins/*/xineplug_vo_out_opengl.so
+%{_libdir}/xine/plugins/*/xineplug_vo_out_syncfb.so
%if %{have_vidix}
-%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_vidix.so
+%{_libdir}/xine/plugins/*/xineplug_vo_out_vidix.so
%endif # vidix
%if %{with_xcb}
-%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xcbshm.so
-%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xcbxv.so
+%{_libdir}/xine/plugins/*/xineplug_vo_out_xcbshm.so
+%{_libdir}/xine/plugins/*/xineplug_vo_out_xcbxv.so
%endif # xcb
-%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xshm.so
-%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xv.so
-%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xvmc.so
-%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xxmc.so
+%{_libdir}/xine/plugins/*/xineplug_vo_out_xshm.so
+%{_libdir}/xine/plugins/*/xineplug_vo_out_xv.so
+%{_libdir}/xine/plugins/*/xineplug_vo_out_xvmc.so
+%{_libdir}/xine/plugins/*/xineplug_vo_out_xxmc.so
%if %{with_wpack}
-%{_libdir}/xine/plugins/%{version}/xineplug_wavpack.so
+%{_libdir}/xine/plugins/*/xineplug_wavpack.so
%endif # wpack
%files arts
%defattr(-,root,root,-)
-%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_arts.so
+%{_libdir}/xine/plugins/*/xineplug_ao_out_arts.so
%files extras
%defattr(-,root,root,-)
-%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_esd.so
+%{_libdir}/xine/plugins/*/xineplug_ao_out_esd.so
%if %{with_jack}
-%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_jack.so
+%{_libdir}/xine/plugins/*/xineplug_ao_out_jack.so
%endif # jack
%if %{with_pa}
-%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_pulseaudio.so
+%{_libdir}/xine/plugins/*/xineplug_ao_out_pulseaudio.so
%endif # pa
-%{_libdir}/xine/plugins/%{version}/xineplug_decode_gdk_pixbuf.so
+%{_libdir}/xine/plugins/*/xineplug_decode_gdk_pixbuf.so
%if 0%{!?_without_imagemagick:1}
-%{_libdir}/xine/plugins/%{version}/xineplug_decode_image.so
+%{_libdir}/xine/plugins/*/xineplug_decode_image.so
%endif # imagemagick
-%{_libdir}/xine/plugins/%{version}/xineplug_inp_gnome_vfs.so
-%{_libdir}/xine/plugins/%{version}/xineplug_inp_smb.so
+%{_libdir}/xine/plugins/*/xineplug_inp_gnome_vfs.so
+%{_libdir}/xine/plugins/*/xineplug_inp_smb.so
%if %{with_aalib}
-%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_aa.so
+%{_libdir}/xine/plugins/*/xineplug_vo_out_aa.so
%endif # aalib
%if %{with_caca}
-%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_caca.so
+%{_libdir}/xine/plugins/*/xineplug_vo_out_caca.so
%endif # caca
%if 0%{!?_without_directfb:1}
-%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_directfb.so
-%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xdirectfb.so
+%{_libdir}/xine/plugins/*/xineplug_vo_out_directfb.so
+%{_libdir}/xine/plugins/*/xineplug_vo_out_xdirectfb.so
%endif # directfb
-%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_sdl.so
+%{_libdir}/xine/plugins/*/xineplug_vo_out_sdl.so
%files devel
%defattr(-,root,root,-)
@@ -385,6 +385,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Fri Feb 8 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.10.1-1
+- 1.1.10.1 (security update, #431541).
+
* Sun Jan 27 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.10-2
- Include spu, spucc, and spucmml decoders (#213597).
commit ba4214cf253f1296c8166c08fb0381a7cc3b22e1
Author: Ville Skyttä <scop(a)fedoraproject.org>
Date: Sun Jan 27 00:30:25 2008 +0000
Upload correct sources.
diff --git a/sources b/sources
index 29adf6a..ef97526 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-38b23253ba2fff335bb41cf8d7e87afe xine-lib-1.1.10-pruned.tar.bz2
-823ca0360094a627857a303e069f5439 xine-lib-1.1.10-autotools.patch.bz2
+4989b50fd279ed69b03816233cefa657 xine-lib-1.1.10-pruned.tar.bz2
+8bc0516867b8032729a298b0dfe77527 xine-lib-1.1.10-autotools.patch.bz2
commit fd15e85a16c6bc3d27b04b6c3fcbdb2bf50dd1dc
Author: Ville Skyttä <scop(a)fedoraproject.org>
Date: Sat Jan 26 23:31:13 2008 +0000
* Sun Jan 27 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.10-2
- Include spu, spucc, and spucmml decoders (#213597).
diff --git a/xine-lib-cleanup-sources.sh b/xine-lib-cleanup-sources.sh
index dddb8d6..5710edf 100755
--- a/xine-lib-cleanup-sources.sh
+++ b/xine-lib-cleanup-sources.sh
@@ -22,14 +22,14 @@ tar -xjf $tarball
cd $dir
# Main libraries
-for remove in libfaad libffmpeg libmad libmpeg2 dxr3 libspudec libspucmml libspucc liba52 libdts; do
+for remove in libfaad libffmpeg libmad libmpeg2 dxr3 liba52 libdts; do
echo "removing src/$remove..."
rm -rf src/$remove
sed -i -e "/$remove/d" src/Makefile.am
sed -i -e "/^src\/$remove/d" configure.ac
done
# Input plugin libraries
-for remove in libdvdnav vcd; do
+for remove in vcd; do
echo "removing src/input/$remove..."
rm -rf src/input/$remove
sed -i -e "s/SUBDIRS = \(.*\)${remove}\(.*\)/SUBDIRS = \1\2/g" src/input/Makefile.am
diff --git a/xine-lib.spec b/xine-lib.spec
index 21601d6..6992539 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -6,6 +6,7 @@
# http://fedoraproject.org/wiki/Releases/FeaturePulseaudio
# --> not yet:
# http://www.redhat.com/archives/fedora-devel-list/2007-August/msg01411.html
+# - external dvdnav - not compatible as of 1.1.9.1 and 4.1.1
%define codecdir %{_libdir}/codecs
%ifarch %{ix86}
@@ -33,7 +34,7 @@
Summary: Xine library
Name: xine-lib
Version: 1.1.10
-Release: 1%{?dist}
+Release: 2%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -87,9 +88,7 @@ BuildRequires: jack-audio-connection-kit-devel
# CDs
BuildRequires: libcdio-devel
# Other
-BuildRequires: pkgconfig gnome-vfs2-devel gtk2-devel
-# samba-common in <= FC-6, libsmbclient-devel in FC7+
-BuildRequires: %{_includedir}/libsmbclient.h
+BuildRequires: pkgconfig gnome-vfs2-devel gtk2-devel libsmbclient-devel
%package devel
Summary: Xine library development files
@@ -180,7 +179,6 @@ export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)"
%endif # directfb
--disable-a52dec \
--disable-mad \
- --disable-dvdnavtest --with-external-dvdnav \
--disable-vcd \
--disable-asf \
--disable-faad \
@@ -283,6 +281,9 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{version}/xineplug_decode_real.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_rgb.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_speex.so
+%{_libdir}/xine/plugins/%{version}/xineplug_decode_spu.so
+%{_libdir}/xine/plugins/%{version}/xineplug_decode_spucc.so
+%{_libdir}/xine/plugins/%{version}/xineplug_decode_spucmml.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_spudvb.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_sputext.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_theora.so
@@ -384,6 +385,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Sun Jan 27 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.10-2
+- Include spu, spucc, and spucmml decoders (#213597).
+
* Sun Jan 27 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.10-1
- 1.1.10 (security update).
commit 05855294e3fca91f54ffcd426d261aef7699830b
Author: Ville Skyttä <scop(a)fedoraproject.org>
Date: Sat Jan 26 23:27:32 2008 +0000
Sync with F-8
diff --git a/.cvsignore b/.cvsignore
index 56b7d0f..e2128b7 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -1,2 +1,2 @@
-xine-lib-1.1.9.1-pruned.tar.bz2
-xine-lib-1.1.9.1-autotools.patch.bz2
+xine-lib-1.1.10-pruned.tar.bz2
+xine-lib-1.1.10-autotools.patch.bz2
diff --git a/sources b/sources
index 8967d77..29adf6a 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-012fbd83dec565a06697426620baf21e xine-lib-1.1.9.1-pruned.tar.bz2
-fae182d050b231fff79eddf335b9a618 xine-lib-1.1.9.1-autotools.patch.bz2
+38b23253ba2fff335bb41cf8d7e87afe xine-lib-1.1.10-pruned.tar.bz2
+823ca0360094a627857a303e069f5439 xine-lib-1.1.10-autotools.patch.bz2
diff --git a/xine-lib.spec b/xine-lib.spec
index 6ff5bb1..21601d6 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -32,8 +32,8 @@
Summary: Xine library
Name: xine-lib
-Version: 1.1.9.1
-Release: 3%{?dist}
+Version: 1.1.10
+Release: 1%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -46,9 +46,7 @@ Source2: %{name}-mk-autotools-patch.sh
# autotools patch created with source2
Patch0: %{name}-%{version}-autotools.patch.bz2
Patch1: %{name}-1.1.4-optflags.patch
-Patch2: %{name}-1.1.9.1-aoclose-429182.patch
Patch6: %{name}-1.1.1-deepbind-939.patch
-Patch7: %{name}-1.1.5-multilib-devel.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
# X11
BuildRequires: libX11-devel libXv-devel libXinerama-devel libXvMC-devel
@@ -162,17 +160,12 @@ touch -r configure.ac aclocal.m4
touch -r m4/optimizations.m4 m4/optimizations.m4.stamp
%patch1 -p1 -b .optflags
touch -r m4/optimizations.m4.stamp m4/optimizations.m4
-%patch2 -p1 -b .aoclose
# Patch6 needed at least when compiling with external ffmpeg, #939.
%patch6 -p1 -b .deepbind
-%patch7 -p0 -b .multilib-devel
# Avoid standard rpaths on lib64 archs:
sed -i -e 's|"/lib /usr/lib\b|"/%{_lib} %{_libdir}|' configure
-# Quick and dirty fix for #429487, check if still needed in > 1.1.9.1:
-sed -i -e 's/^\(Version:\s*\).*/\1%{version}/i' misc/libxine.pc.in
-
%build
export FFMPEG_CFLAGS=" " FFMPEG_LIBS=" "
@@ -391,6 +384,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Sun Jan 27 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.10-1
+- 1.1.10 (security update).
+
* Mon Jan 21 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.9.1-3
- Fix version number in libxine.pc (#429487).
commit 55201a3d7bd4ff3212e18af4a3da7f23162aec03
Author: Ville Skyttä <scop(a)fedoraproject.org>
Date: Wed Jan 23 17:04:56 2008 +0000
Sync with F-8.
diff --git a/xine-lib-1.1.9.1-aoclose-429182.patch b/xine-lib-1.1.9.1-aoclose-429182.patch
new file mode 100644
index 0000000..e90c6be
--- /dev/null
+++ b/xine-lib-1.1.9.1-aoclose-429182.patch
@@ -0,0 +1,19 @@
+http://thread.gmane.org/gmane.comp.video.xine.devel/17682
+
+diff -up xine-lib-1.1.9.1/src/xine-engine/audio_out.c~ xine-lib-1.1.9.1/src/xine-engine/audio_out.c
+--- xine-lib-1.1.9.1/src/xine-engine/audio_out.c~ 2008-01-01 15:30:09.000000000 +0200
++++ xine-lib-1.1.9.1/src/xine-engine/audio_out.c 2008-01-20 11:46:40.000000000 +0200
+@@ -1612,11 +1612,13 @@ static void ao_close(xine_audio_port_t *
+ xprintf (this->xine, XINE_VERBOSITY_DEBUG, "audio_out: no streams left, closing driver\n");
+
+ if (this->audio_loop_running) {
++#if 0
+ if (this->clock->speed == XINE_SPEED_PAUSE ||
+ (this->clock->speed != XINE_FINE_SPEED_NORMAL && !this->slow_fast_audio)) {
+ /* discard buffers, otherwise we'll wait forever */
+ ao_set_property(this_gen, AO_PROP_DISCARD_BUFFERS, 1);
+ }
++#endif
+ /* make sure there are no more buffers on queue */
+ fifo_wait_empty(this->out_fifo);
+ }
diff --git a/xine-lib.spec b/xine-lib.spec
index 100a7b0..6ff5bb1 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -33,7 +33,7 @@
Summary: Xine library
Name: xine-lib
Version: 1.1.9.1
-Release: 1%{?dist}
+Release: 3%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -46,6 +46,7 @@ Source2: %{name}-mk-autotools-patch.sh
# autotools patch created with source2
Patch0: %{name}-%{version}-autotools.patch.bz2
Patch1: %{name}-1.1.4-optflags.patch
+Patch2: %{name}-1.1.9.1-aoclose-429182.patch
Patch6: %{name}-1.1.1-deepbind-939.patch
Patch7: %{name}-1.1.5-multilib-devel.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@@ -161,6 +162,7 @@ touch -r configure.ac aclocal.m4
touch -r m4/optimizations.m4 m4/optimizations.m4.stamp
%patch1 -p1 -b .optflags
touch -r m4/optimizations.m4.stamp m4/optimizations.m4
+%patch2 -p1 -b .aoclose
# Patch6 needed at least when compiling with external ffmpeg, #939.
%patch6 -p1 -b .deepbind
%patch7 -p0 -b .multilib-devel
@@ -168,6 +170,9 @@ touch -r m4/optimizations.m4.stamp m4/optimizations.m4
# Avoid standard rpaths on lib64 archs:
sed -i -e 's|"/lib /usr/lib\b|"/%{_lib} %{_libdir}|' configure
+# Quick and dirty fix for #429487, check if still needed in > 1.1.9.1:
+sed -i -e 's/^\(Version:\s*\).*/\1%{version}/i' misc/libxine.pc.in
+
%build
export FFMPEG_CFLAGS=" " FFMPEG_LIBS=" "
@@ -386,6 +391,12 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Mon Jan 21 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.9.1-3
+- Fix version number in libxine.pc (#429487).
+
+* Sun Jan 20 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.9.1-2
+- Disable upstream "discard buffers on ao close" 1.1.9 changeset (#429182).
+
* Sat Jan 12 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.9.1-1
- 1.1.9.1 (security update).
commit a1849e2fcf6878989d0f581e23e1051aad8dd375
Author: Ville Skyttä <scop(a)fedoraproject.org>
Date: Sat Jan 12 11:21:23 2008 +0000
* Sat Jan 12 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.9.1-1
- 1.1.9.1 (security update).
diff --git a/.cvsignore b/.cvsignore
index b094455..56b7d0f 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -1,2 +1,2 @@
-xine-lib-1.1.9-pruned.tar.bz2
-xine-lib-1.1.9-autotools.patch.bz2
+xine-lib-1.1.9.1-pruned.tar.bz2
+xine-lib-1.1.9.1-autotools.patch.bz2
diff --git a/sources b/sources
index f1a3f24..8967d77 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-34315b3d150dee3929abd35682e65f53 xine-lib-1.1.9-pruned.tar.bz2
-29c46faf035a32c3a454dc5541b8fa3e xine-lib-1.1.9-autotools.patch.bz2
+012fbd83dec565a06697426620baf21e xine-lib-1.1.9.1-pruned.tar.bz2
+fae182d050b231fff79eddf335b9a618 xine-lib-1.1.9.1-autotools.patch.bz2
diff --git a/xine-lib.spec b/xine-lib.spec
index 6204baf..100a7b0 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -32,7 +32,7 @@
Summary: Xine library
Name: xine-lib
-Version: 1.1.9
+Version: 1.1.9.1
Release: 1%{?dist}
License: GPLv2+
Group: System Environment/Libraries
@@ -386,6 +386,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Sat Jan 12 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.9.1-1
+- 1.1.9.1 (security update).
+
* Sun Jan 6 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.9-1
- 1.1.9.
commit 7c6c8a918be72278cedfd4e9ef6caadb3a6c7fc6
Author: Ville Skyttä <scop(a)fedoraproject.org>
Date: Sun Jan 6 21:51:14 2008 +0000
* Sun Jan 6 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.9-1
- 1.1.9.
diff --git a/.cvsignore b/.cvsignore
index 0426b0d..b094455 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -1,2 +1,2 @@
-xine-lib-1.1.8-pruned.tar.bz2
-xine-lib-1.1.8-autotools.patch.bz2
+xine-lib-1.1.9-pruned.tar.bz2
+xine-lib-1.1.9-autotools.patch.bz2
diff --git a/sources b/sources
index 00ae4ec..f1a3f24 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-6cbfae9d31fc138c7cb3c3d178e1286d xine-lib-1.1.8-pruned.tar.bz2
-b4a7c7a9af428b26667402d6dc180107 xine-lib-1.1.8-autotools.patch.bz2
+34315b3d150dee3929abd35682e65f53 xine-lib-1.1.9-pruned.tar.bz2
+29c46faf035a32c3a454dc5541b8fa3e xine-lib-1.1.9-autotools.patch.bz2
diff --git a/xine-lib-cleanup-sources.sh b/xine-lib-cleanup-sources.sh
index 0a240f2..dddb8d6 100755
--- a/xine-lib-cleanup-sources.sh
+++ b/xine-lib-cleanup-sources.sh
@@ -66,7 +66,7 @@ sed -i -e '/^xineplug_decode_nsf_la/,/^\s*$/d' \
-e /xineplug_decode_nsf/d \
-e 's/ nosefart//' \
src/libxineadec/Makefile.am
-sed -i -e /nosefart/d configure.ac
+sed -i -e '/nosefart\/Makefile/d' configure.ac
# All clean !
diff --git a/xine-lib.spec b/xine-lib.spec
index 41896b8..6204baf 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -12,12 +12,12 @@
%define have_vidix 1
%else
%define have_vidix 0
-%endif
+%endif # ix86
%if 0%{?fedora} >= 8
%define with_xcb %{?_without_xcb:0}%{!?_without_xcb:1}
%else
%define with_xcb %{?_with_xcb:1}%{!?_with_xcb:0}
-%endif
+%endif # >= F8
%define with_jack %{?_without_jack:0}%{!?_without_jack:1}
%define with_wpack %{?_without_wavpack:0}%{!?_without_wavpack:1}
%if 0%{?fedora}
@@ -28,18 +28,18 @@
%define with_aalib %{?_with_aalib:1}%{!?_with_aalib:0}
%define with_caca %{?_with_caca:1}%{!?_with_caca:0}
%define with_pa %{?_with_pulseaudio:1}%{!?_with_pulseaudio:0}
-%endif
+%endif # Fedora
Summary: Xine library
Name: xine-lib
-Version: 1.1.8
-Release: 6%{?dist}
+Version: 1.1.9
+Release: 1%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
# The tarball is generated from the upstream tarball using
# the script in SOURCE1. It prunes potentially patented code
-#Source0: http://dl.sourceforge.net/xine/xine-lib-%{version}.tar.bz2
+#Source0: http://downloads.sourceforge.net/xine/xine-lib-%{version}.tar.bz2
Source0: %{name}-%{version}-pruned.tar.bz2
Source1: %{name}-cleanup-sources.sh
Source2: %{name}-mk-autotools-patch.sh
@@ -386,6 +386,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Sun Jan 6 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.9-1
+- 1.1.9.
+
* Thu Sep 27 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.8-6
- Enable wavpack support by default for all distros.
commit a90db5af5acda5cf05a856843a57a31bbf93bc28
Author: Ville Skyttä <scop(a)fedoraproject.org>
Date: Thu Sep 27 20:24:11 2007 +0000
* Thu Sep 27 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.8-6
- Enable wavpack support by default for all distros.
diff --git a/xine-lib.spec b/xine-lib.spec
index 052f450..41896b8 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -19,22 +19,21 @@
%define with_xcb %{?_with_xcb:1}%{!?_with_xcb:0}
%endif
%define with_jack %{?_without_jack:0}%{!?_without_jack:1}
+ %define with_wpack %{?_without_wavpack:0}%{!?_without_wavpack:1}
%if 0%{?fedora}
%define with_aalib %{?_without_aalib:0}%{!?_without_aalib:1}
%define with_caca %{?_without_caca:0}%{!?_without_caca:1}
%define with_pa %{?_without_pulseaudio:0}%{!?_without_pulseaudio:1}
- %define with_wpack %{?_without_wavpack:0}%{!?_without_wavpack:1}
%else
%define with_aalib %{?_with_aalib:1}%{!?_with_aalib:0}
%define with_caca %{?_with_caca:1}%{!?_with_caca:0}
%define with_pa %{?_with_pulseaudio:1}%{!?_with_pulseaudio:0}
- %define with_wpack %{?_with_wavpack:1}%{!?_with_wavpack:0}
%endif
Summary: Xine library
Name: xine-lib
Version: 1.1.8
-Release: 5%{?dist}
+Release: 6%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -387,6 +386,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Thu Sep 27 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.8-6
+- Enable wavpack support by default for all distros.
+
* Sun Sep 23 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.8-5
- Enable JACK support by default for all distros.
commit 6ee255e778ea9cf5a1cc1c7c656aa939caa5899d
Author: Ville Skyttä <scop(a)fedoraproject.org>
Date: Mon Sep 24 19:29:46 2007 +0000
* Sun Sep 23 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.8-5
- Enable JACK support by default for all distros.
diff --git a/xine-lib.spec b/xine-lib.spec
index 69784e8..052f450 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -18,16 +18,15 @@
%else
%define with_xcb %{?_with_xcb:1}%{!?_with_xcb:0}
%endif
+ %define with_jack %{?_without_jack:0}%{!?_without_jack:1}
%if 0%{?fedora}
%define with_aalib %{?_without_aalib:0}%{!?_without_aalib:1}
%define with_caca %{?_without_caca:0}%{!?_without_caca:1}
- %define with_jack %{?_without_jack:0}%{!?_without_jack:1}
%define with_pa %{?_without_pulseaudio:0}%{!?_without_pulseaudio:1}
%define with_wpack %{?_without_wavpack:0}%{!?_without_wavpack:1}
%else
%define with_aalib %{?_with_aalib:1}%{!?_with_aalib:0}
%define with_caca %{?_with_caca:1}%{!?_with_caca:0}
- %define with_jack %{?_with_jack:1}%{!?_with_jack:0}
%define with_pa %{?_with_pulseaudio:1}%{!?_with_pulseaudio:0}
%define with_wpack %{?_with_wavpack:1}%{!?_with_wavpack:0}
%endif
@@ -35,7 +34,7 @@
Summary: Xine library
Name: xine-lib
Version: 1.1.8
-Release: 4%{?dist}
+Release: 5%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -388,6 +387,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Sun Sep 23 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.8-5
+- Enable JACK support by default for all distros.
+
* Wed Sep 19 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.8-4
- Fix "--without wavpack" build.
commit 3c63a080040549bca1239ae6ec7017cd125324cf
Author: Ville Skyttä <scop(a)fedoraproject.org>
Date: Wed Sep 19 19:32:59 2007 +0000
* Wed Sep 19 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.8-4
- Fix "--without wavpack" build.
diff --git a/xine-lib.spec b/xine-lib.spec
index d953df1..69784e8 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -35,7 +35,7 @@
Summary: Xine library
Name: xine-lib
Version: 1.1.8
-Release: 3%{?dist}
+Release: 4%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -340,7 +340,9 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xv.so
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xvmc.so
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xxmc.so
+%if %{with_wpack}
%{_libdir}/xine/plugins/%{version}/xineplug_wavpack.so
+%endif # wpack
%files arts
%defattr(-,root,root,-)
@@ -386,6 +388,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Wed Sep 19 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.8-4
+- Fix "--without wavpack" build.
+
* Sat Sep 15 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.8-3
- Move XCB plugins to the main package.
- Make aalib, caca, pulseaudio, jack, and wavpack support optional at build
commit 1e7ec3f6bf770b5d44da037b7f17b4ec3c7102e3
Author: Ville Skyttä <scop(a)fedoraproject.org>
Date: Wed Sep 19 19:04:27 2007 +0000
* Sat Sep 15 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.8-3
- Move XCB plugins to the main package.
- Make aalib, caca, pulseaudio, jack, and wavpack support optional at build
time in preparation for the first EPEL build.
diff --git a/xine-lib.spec b/xine-lib.spec
index c9a2d89..d953df1 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -9,20 +9,33 @@
%define codecdir %{_libdir}/codecs
%ifarch %{ix86}
-%define have_vidix 1
+ %define have_vidix 1
%else
-%define have_vidix 0
+ %define have_vidix 0
%endif
%if 0%{?fedora} >= 8
-%define with_xcb 1
+ %define with_xcb %{?_without_xcb:0}%{!?_without_xcb:1}
%else
-%define with_xcb 0
+ %define with_xcb %{?_with_xcb:1}%{!?_with_xcb:0}
+%endif
+%if 0%{?fedora}
+ %define with_aalib %{?_without_aalib:0}%{!?_without_aalib:1}
+ %define with_caca %{?_without_caca:0}%{!?_without_caca:1}
+ %define with_jack %{?_without_jack:0}%{!?_without_jack:1}
+ %define with_pa %{?_without_pulseaudio:0}%{!?_without_pulseaudio:1}
+ %define with_wpack %{?_without_wavpack:0}%{!?_without_wavpack:1}
+%else
+ %define with_aalib %{?_with_aalib:1}%{!?_with_aalib:0}
+ %define with_caca %{?_with_caca:1}%{!?_with_caca:0}
+ %define with_jack %{?_with_jack:1}%{!?_with_jack:0}
+ %define with_pa %{?_with_pulseaudio:1}%{!?_with_pulseaudio:0}
+ %define with_wpack %{?_with_wavpack:1}%{!?_with_wavpack:0}
%endif
Summary: Xine library
Name: xine-lib
Version: 1.1.8
-Release: 2%{?dist}
+Release: 3%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -43,25 +56,37 @@ BuildRequires: libX11-devel libXv-devel libXinerama-devel libXvMC-devel
BuildRequires: libGLU-devel
%if %{with_xcb}
BuildRequires: libxcb-devel
-%endif
+%endif # xcb
# Video
BuildRequires: SDL-devel libtheora-devel libmng-devel
+%if %{with_aalib}
BuildRequires: aalib-devel >= 1.4
+%endif # aalib
+%if %{with_caca}
BuildRequires: libcaca-devel >= 0.99
+%endif # caca
%if 0%{!?_without_directfb:1}
BuildRequires: directfb-devel
-%endif
+%endif # directfb
%if 0%{!?_without_imagemagick:1}
BuildRequires: ImageMagick-devel >= 6.2.4.6-1
-%endif
+%endif # imagemagick
%if 0%{?_with_freetype:1}
BuildRequires: fontconfig-devel
-%endif
+%endif # freetype
# Audio
BuildRequires: libogg-devel libvorbis-devel flac-devel libmodplug-devel
BuildRequires: esound-devel speex-devel arts-devel alsa-lib-devel >= 0.9.0
-BuildRequires: jack-audio-connection-kit-devel wavpack-devel libmpcdec-devel
+BuildRequires: libmpcdec-devel
+%if %{with_wpack}
+BuildRequires: wavpack-devel
+%endif # wpack
+%if %{with_pa}
BuildRequires: pulseaudio-lib-devel
+%endif # pa
+%if %{with_jack}
+BuildRequires: jack-audio-connection-kit-devel
+%endif # jack
# CDs
BuildRequires: libcdio-devel
# Other
@@ -93,11 +118,10 @@ This package contains the Xine library. Xine is a free multimedia player.
It can play back various media. It also decodes multimedia files from local
disk drives, and displays multimedia streamed over the Internet. It
interprets many of the most common multimedia formats available - and some
-of the most uncommon formats, too. Non-default rpmbuild options:
---without imagemagick: Disable ImageMagick support
---without directfb: Disable DirectFB support
---with freetype: Enable FreeType/Fontconfig support
---with antialiasing: Enable font antialiasing (with FreeType/FontConfig)
+of the most uncommon formats, too. --with/--without rpmbuild options
+(some default values depend on target distribution): aalib, caca, directfb,
+imagemagick, freetype, antialiasing (with freetype), jack, pulseaudio,
+wavpack, xcb.
%description devel
This package contains development files for xine-lib.
@@ -108,23 +132,28 @@ This package contains the aRts extra plugin for xine-lib.
%description extras
This package contains extra plugins for xine-lib:
- EsounD
+%if %{with_jack}
- JACK
+%endif # jack
+%if %{with_pa}
- Pulseaudio
+%endif # pa
- GDK-Pixbuf
- GNOME VFS
- SMB
- SDL
+%if %{with_aalib}
- AA-lib
+%endif # aalib
+%if %{with_caca}
- Libcaca
+%endif # caca
%if 0%{!?_without_imagemagick:1}
- Image decoding
-%endif
+%endif # imagemagick
%if 0%{!?_without_directfb:1}
- DirectFB output
-%endif
-%if %{with_xcb}
- - XCB output
-%endif
+%endif # directfb
%prep
@@ -174,7 +203,9 @@ export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)"
--without-imagemagick \
%endif # imagemagick
--with-arts \
+%if %{with_wpack}
--with-wavpack \
+%endif
--with-real-codecs-path=%{codecdir} \
--with-w32-path=%{codecdir}
@@ -241,7 +272,7 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{version}/vidix/savage_vid.so
%{_libdir}/xine/plugins/%{version}/vidix/sis_vid.so
%{_libdir}/xine/plugins/%{version}/vidix/unichrome_vid.so
-%endif
+%endif # vidix
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_alsa.so
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_file.so
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_none.so
@@ -252,7 +283,7 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{version}/xineplug_decode_mpc.so
%ifarch %ix86
%{_libdir}/xine/plugins/%{version}/xineplug_decode_qt.so
-%endif
+%endif # ix86
%{_libdir}/xine/plugins/%{version}/xineplug_decode_real.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_rgb.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_speex.so
@@ -262,7 +293,7 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{version}/xineplug_decode_vorbis.so
%ifarch %ix86
%{_libdir}/xine/plugins/%{version}/xineplug_decode_w32dll.so
-%endif
+%endif # ix86
%{_libdir}/xine/plugins/%{version}/xineplug_decode_yuv.so
%{_libdir}/xine/plugins/%{version}/xineplug_dmx_audio.so
%{_libdir}/xine/plugins/%{version}/xineplug_dmx_avi.so
@@ -300,14 +331,17 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_syncfb.so
%if %{have_vidix}
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_vidix.so
-%endif
+%endif # vidix
+%if %{with_xcb}
+%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xcbshm.so
+%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xcbxv.so
+%endif # xcb
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xshm.so
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xv.so
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xvmc.so
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xxmc.so
%{_libdir}/xine/plugins/%{version}/xineplug_wavpack.so
-
%files arts
%defattr(-,root,root,-)
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_arts.so
@@ -315,26 +349,29 @@ rm -rf $RPM_BUILD_ROOT
%files extras
%defattr(-,root,root,-)
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_esd.so
+%if %{with_jack}
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_jack.so
+%endif # jack
+%if %{with_pa}
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_pulseaudio.so
+%endif # pa
%{_libdir}/xine/plugins/%{version}/xineplug_decode_gdk_pixbuf.so
%if 0%{!?_without_imagemagick:1}
%{_libdir}/xine/plugins/%{version}/xineplug_decode_image.so
-%endif
+%endif # imagemagick
%{_libdir}/xine/plugins/%{version}/xineplug_inp_gnome_vfs.so
%{_libdir}/xine/plugins/%{version}/xineplug_inp_smb.so
+%if %{with_aalib}
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_aa.so
+%endif # aalib
+%if %{with_caca}
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_caca.so
+%endif # caca
%if 0%{!?_without_directfb:1}
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_directfb.so
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xdirectfb.so
-%endif
+%endif # directfb
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_sdl.so
-%if %{with_xcb}
-%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xcbshm.so
-%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xcbxv.so
-%endif
-
%files devel
%defattr(-,root,root,-)
@@ -349,6 +386,11 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Sat Sep 15 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.8-3
+- Move XCB plugins to the main package.
+- Make aalib, caca, pulseaudio, jack, and wavpack support optional at build
+ time in preparation for the first EPEL build.
+
* Sun Sep 09 2007 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.8-2
- remove the dependency from -extras to -arts, and use Obsoletes to
provide an upgrade path
commit 7741b9a2a7d8377952a15b3ecd7ad46cae64859e
Author: Aurelien Bompard <abompard(a)fedoraproject.org>
Date: Sun Sep 9 14:50:02 2007 +0000
* Sun Sep 09 2007 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.8-2
- remove the dependency from -extras to -arts, and use Obsoletes to
provide an upgrade path
diff --git a/xine-lib.spec b/xine-lib.spec
index 935e1d4..c9a2d89 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -22,7 +22,7 @@
Summary: Xine library
Name: xine-lib
Version: 1.1.8
-Release: 1%{?dist}
+Release: 2%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -79,12 +79,13 @@ Requires: pkgconfig zlib-devel
Summary: aRts plugin for xine-lib
Group: System Environment/Libraries
Requires: %{name} = %{version}-%{release}
+# -arts was split off the -extras subpackage at 1.1.7-3
+Obsoletes: xine-lib-extras < 1.1.7-3
%package extras
Summary: Additional plugins for xine-lib
Group: System Environment/Libraries
Requires: %{name} = %{version}-%{release}
-Requires: %{name}-arts = %{version}-%{release}
%description
@@ -348,6 +349,10 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Sun Sep 09 2007 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.8-2
+- remove the dependency from -extras to -arts, and use Obsoletes to
+ provide an upgrade path
+
* Thu Aug 30 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.8-1
- 1.1.8, "open" patch applied upstream.
- Build XCB plugins by default for Fedora 8+ only.
commit 24a2b8df9f6459375e4ac30c645fdb40a51c1104
Author: Ville Skyttä <scop(a)fedoraproject.org>
Date: Sat Sep 1 09:19:38 2007 +0000
* Thu Aug 30 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.8-1
- 1.1.8, "open" patch applied upstream.
- Build XCB plugins by default for Fedora 8+ only.
diff --git a/.cvsignore b/.cvsignore
index e98b803..0426b0d 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -1,2 +1,2 @@
-xine-lib-1.1.7-pruned.tar.bz2
-xine-lib-1.1.7-autotools.patch.bz2
+xine-lib-1.1.8-pruned.tar.bz2
+xine-lib-1.1.8-autotools.patch.bz2
diff --git a/sources b/sources
index 4131b00..00ae4ec 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-8f0714de28dab403288bbccf1a8c30c2 xine-lib-1.1.7-pruned.tar.bz2
-6b7f1d168b8b367a8c7709db687c60f6 xine-lib-1.1.7-autotools.patch.bz2
+6cbfae9d31fc138c7cb3c3d178e1286d xine-lib-1.1.8-pruned.tar.bz2
+b4a7c7a9af428b26667402d6dc180107 xine-lib-1.1.8-autotools.patch.bz2
diff --git a/xine-lib-1.1.7-open.patch b/xine-lib-1.1.7-open.patch
deleted file mode 100644
index e3d7a6a..0000000
--- a/xine-lib-1.1.7-open.patch
+++ /dev/null
@@ -1,101 +0,0 @@
---- xine-lib-1.1.7/src/libxinevdec/image.c~ 2007-04-15 20:42:16.000000000 +0300
-+++ xine-lib-1.1.7/src/libxinevdec/image.c 2007-08-14 00:40:05.000000000 +0300
-@@ -81,7 +81,7 @@ static void image_decode_data (video_dec
-
- if (!this->video_open) {
- lprintf("opening video\n");
-- this->stream->video_out->open(this->stream->video_out, this->stream);
-+ (this->stream->video_out->open)(this->stream->video_out, this->stream);
- this->video_open = 1;
- }
-
---- xine-lib-1.1.7/src/libxinevdec/gdkpixbuf.c~ 2007-04-15 20:42:16.000000000 +0300
-+++ xine-lib-1.1.7/src/libxinevdec/gdkpixbuf.c 2007-08-14 00:45:36.000000000 +0300
-@@ -74,7 +74,7 @@ static void image_decode_data (video_dec
-
- if (!this->video_open) {
- lprintf("opening video\n");
-- this->stream->video_out->open(this->stream->video_out, this->stream);
-+ (this->stream->video_out->open)(this->stream->video_out, this->stream);
- this->video_open = 1;
- }
-
---- xine-lib-1.1.7/src/libxineadec/xine_lpcm_decoder.c~ 2007-04-17 04:00:50.000000000 +0300
-+++ xine-lib-1.1.7/src/libxineadec/xine_lpcm_decoder.c 2007-08-14 00:50:49.000000000 +0300
-@@ -134,12 +134,12 @@ static void lpcm_decode_data (audio_deco
-
- /* force 24-bit samples into 16 bits for now */
- if (this->bits_per_sample == 24)
-- this->output_open = this->stream->audio_out->open (this->stream->audio_out, this->stream,
-+ this->output_open = (this->stream->audio_out->open) (this->stream->audio_out, this->stream,
- 16,
- this->rate,
- this->ao_cap_mode) ;
- else
-- this->output_open = this->stream->audio_out->open (this->stream->audio_out, this->stream,
-+ this->output_open = (this->stream->audio_out->open) (this->stream->audio_out, this->stream,
- this->bits_per_sample,
- this->rate,
- this->ao_cap_mode) ;
---- xine-lib-1.1.7/src/xine-engine/audio_out.c~ 2007-06-05 00:37:38.000000000 +0300
-+++ xine-lib-1.1.7/src/xine-engine/audio_out.c 2007-08-14 00:34:30.000000000 +0300
-@@ -1401,7 +1401,7 @@ static int ao_change_settings(aos_t *thi
- _("stereo not supported by driver, converting to mono.\n"));
- }
-
-- output_sample_rate=this->driver->open(this->driver,bits,(this->force_rate ? this->force_rate : rate),mode);
-+ output_sample_rate=(this->driver->open)(this->driver,bits,(this->force_rate ? this->force_rate : rate),mode);
- } else
- output_sample_rate = this->input.rate;
-
---- xine-lib-1.1.7/src/xine-engine/xine.c~ 2007-05-06 17:20:54.000000000 +0300
-+++ xine-lib-1.1.7/src/xine-engine/xine.c 2007-08-14 00:26:30.000000000 +0300
-@@ -462,7 +462,7 @@ static int stream_rewire_audio(xine_post
-
- if (stream->audio_out->status(stream->audio_out, stream, &bits, &rate, &mode)) {
- /* register our stream at the new output port */
-- new_port->open(new_port, stream, bits, rate, mode);
-+ (new_port->open)(new_port, stream, bits, rate, mode);
- stream->audio_out->close(stream->audio_out, stream);
- }
- stream->audio_out = new_port;
-@@ -486,7 +486,7 @@ static int stream_rewire_video(xine_post
-
- if (stream->video_out->status(stream->video_out, stream, &width, &height, &img_duration)) {
- /* register our stream at the new output port */
-- new_port->open(new_port, stream);
-+ (new_port->open)(new_port, stream);
- stream->video_out->close(stream->video_out, stream);
- }
- stream->video_out = new_port;
-@@ -773,7 +773,7 @@ static int open_internal (xine_stream_t
- _x_meta_info_set_utf8(stream, XINE_META_INFO_INPUT_PLUGIN,
- (stream->input_plugin->input_class->get_identifier (stream->input_plugin->input_class)));
-
-- res = stream->input_plugin->open(stream->input_plugin);
-+ res = (stream->input_plugin->open)(stream->input_plugin);
- switch(res) {
- case 1: /* Open successfull */
- free(input_source);
---- xine-lib-1.1.7/src/libreal/xine_real_audio_decoder.c~ 2007-04-17 04:00:50.000000000 +0300
-+++ xine-lib-1.1.7/src/libreal/xine_real_audio_decoder.c 2007-08-14 01:00:32.000000000 +0300
-@@ -339,7 +339,7 @@ static int init_codec (realdec_decoder_t
- return 0;
- }
-
-- this->stream->audio_out->open(this->stream->audio_out,
-+ (this->stream->audio_out->open)(this->stream->audio_out,
- this->stream,
- bits_per_sample,
- samples_per_sec,
---- xine-lib-1.1.7/src/libreal/xine_real_video_decoder.c~ 2007-04-17 04:00:50.000000000 +0300
-+++ xine-lib-1.1.7/src/libreal/xine_real_video_decoder.c 2007-08-14 00:54:52.000000000 +0300
-@@ -268,7 +268,7 @@ static int init_codec (realdec_decoder_t
- this->rvyuv_custom_message (&cmsg_data, this->context);
- }
-
-- this->stream->video_out->open(this->stream->video_out, this->stream);
-+ (this->stream->video_out->open)(this->stream->video_out, this->stream);
-
- this->frame_size = this->width * this->height;
- this->frame_buffer = xine_xmalloc (this->width * this->height * 3 / 2);
diff --git a/xine-lib.spec b/xine-lib.spec
index c0fe9b5..935e1d4 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -13,11 +13,16 @@
%else
%define have_vidix 0
%endif
+%if 0%{?fedora} >= 8
+%define with_xcb 1
+%else
+%define with_xcb 0
+%endif
Summary: Xine library
Name: xine-lib
-Version: 1.1.7
-Release: 3%{?dist}
+Version: 1.1.8
+Release: 1%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -30,13 +35,15 @@ Source2: %{name}-mk-autotools-patch.sh
# autotools patch created with source2
Patch0: %{name}-%{version}-autotools.patch.bz2
Patch1: %{name}-1.1.4-optflags.patch
-Patch2: %{name}-1.1.7-open.patch
Patch6: %{name}-1.1.1-deepbind-939.patch
Patch7: %{name}-1.1.5-multilib-devel.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
# X11
BuildRequires: libX11-devel libXv-devel libXinerama-devel libXvMC-devel
-BuildRequires: libGLU-devel libxcb-devel
+BuildRequires: libGLU-devel
+%if %{with_xcb}
+BuildRequires: libxcb-devel
+%endif
# Video
BuildRequires: SDL-devel libtheora-devel libmng-devel
BuildRequires: aalib-devel >= 1.4
@@ -114,7 +121,9 @@ This package contains extra plugins for xine-lib:
%if 0%{!?_without_directfb:1}
- DirectFB output
%endif
-
+%if %{with_xcb}
+ - XCB output
+%endif
%prep
@@ -124,7 +133,6 @@ touch -r configure.ac aclocal.m4
touch -r m4/optimizations.m4 m4/optimizations.m4.stamp
%patch1 -p1 -b .optflags
touch -r m4/optimizations.m4.stamp m4/optimizations.m4
-%patch2 -p1 -b .open
# Patch6 needed at least when compiling with external ffmpeg, #939.
%patch6 -p1 -b .deepbind
%patch7 -p0 -b .multilib-devel
@@ -321,8 +329,10 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xdirectfb.so
%endif
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_sdl.so
+%if %{with_xcb}
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xcbshm.so
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xcbxv.so
+%endif
%files devel
@@ -338,6 +348,10 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Thu Aug 30 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.8-1
+- 1.1.8, "open" patch applied upstream.
+- Build XCB plugins by default for Fedora 8+ only.
+
* Sat Aug 25 2007 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.7-3
- Split the aRts plugin into its own subpackage
commit 9a9a9d19dcbeffb89b346a4ade6973dd413c7c44
Author: Aurelien Bompard <abompard(a)fedoraproject.org>
Date: Sat Aug 25 21:23:05 2007 +0000
* Sat Aug 25 2007 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.7-3
- Split the aRts plugin into its own subpackage
diff --git a/xine-lib.spec b/xine-lib.spec
index ad54150..c0fe9b5 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -17,7 +17,7 @@
Summary: Xine library
Name: xine-lib
Version: 1.1.7
-Release: 2%{?dist}
+Release: 3%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -68,10 +68,16 @@ Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
Requires: pkgconfig zlib-devel
+%package arts
+Summary: aRts plugin for xine-lib
+Group: System Environment/Libraries
+Requires: %{name} = %{version}-%{release}
+
%package extras
Summary: Additional plugins for xine-lib
Group: System Environment/Libraries
Requires: %{name} = %{version}-%{release}
+Requires: %{name}-arts = %{version}-%{release}
%description
@@ -88,9 +94,11 @@ of the most uncommon formats, too. Non-default rpmbuild options:
%description devel
This package contains development files for xine-lib.
+%description arts
+This package contains the aRts extra plugin for xine-lib.
+
%description extras
This package contains extra plugins for xine-lib:
- - aRts
- EsounD
- JACK
- Pulseaudio
@@ -291,9 +299,12 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{version}/xineplug_wavpack.so
-%files extras
+%files arts
%defattr(-,root,root,-)
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_arts.so
+
+%files extras
+%defattr(-,root,root,-)
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_esd.so
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_jack.so
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_pulseaudio.so
@@ -327,6 +338,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Sat Aug 25 2007 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.7-3
+- Split the aRts plugin into its own subpackage
+
* Tue Aug 14 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.7-2
- Include XCB output plugins (in -extras at least for now).
- Protect "open" with glibc 2.6.90 and -D_FORTIFY_SOURCE=2.
commit 63f2faf8f27ad3a638cb3f730a010c179b76eac4
Author: Ville Skyttä <scop(a)fedoraproject.org>
Date: Tue Aug 21 10:19:07 2007 +0000
No PA move yet
diff --git a/xine-lib.spec b/xine-lib.spec
index fe240a0..ad54150 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -4,6 +4,8 @@
# http://www.redhat.com/archives/fedora-legal-list/2007-August/msg00011.html
# - move pulseaudio to main package from -extras?
# http://fedoraproject.org/wiki/Releases/FeaturePulseaudio
+# --> not yet:
+# http://www.redhat.com/archives/fedora-devel-list/2007-August/msg01411.html
%define codecdir %{_libdir}/codecs
%ifarch %{ix86}
commit 2b05f7403e9988366e6baf83b27a1648b8703582
Author: Ville Skyttä <scop(a)fedoraproject.org>
Date: Thu Aug 16 13:53:44 2007 +0000
Add Pulseaudio TODO item.
diff --git a/xine-lib.spec b/xine-lib.spec
index 0474184..fe240a0 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -1,8 +1,9 @@
# TODO, sometime, maybe:
# - libstk: http://www.libstk.net/ - probably not, see 1.1.5 ChangeLog
-
-# TODO: drop the opengl video out plugin?
-# http://www.redhat.com/archives/fedora-legal-list/2007-August/msg00011.html
+# - drop the opengl video out plugin?
+# http://www.redhat.com/archives/fedora-legal-list/2007-August/msg00011.html
+# - move pulseaudio to main package from -extras?
+# http://fedoraproject.org/wiki/Releases/FeaturePulseaudio
%define codecdir %{_libdir}/codecs
%ifarch %{ix86}
commit 25721fadffb5e10516e76763f259826ead7d2d1f
Author: Ville Skyttä <scop(a)fedoraproject.org>
Date: Tue Aug 14 11:59:58 2007 +0000
* Tue Aug 14 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.7-2
- Include XCB output plugins (in -extras at least for now).
- Protect "open" with glibc 2.6.90 and -D_FORTIFY_SOURCE=2.
- Clean up %configure options.
- License: GPLv2+
diff --git a/xine-lib-1.1.7-open.patch b/xine-lib-1.1.7-open.patch
new file mode 100644
index 0000000..e3d7a6a
--- /dev/null
+++ b/xine-lib-1.1.7-open.patch
@@ -0,0 +1,101 @@
+--- xine-lib-1.1.7/src/libxinevdec/image.c~ 2007-04-15 20:42:16.000000000 +0300
++++ xine-lib-1.1.7/src/libxinevdec/image.c 2007-08-14 00:40:05.000000000 +0300
+@@ -81,7 +81,7 @@ static void image_decode_data (video_dec
+
+ if (!this->video_open) {
+ lprintf("opening video\n");
+- this->stream->video_out->open(this->stream->video_out, this->stream);
++ (this->stream->video_out->open)(this->stream->video_out, this->stream);
+ this->video_open = 1;
+ }
+
+--- xine-lib-1.1.7/src/libxinevdec/gdkpixbuf.c~ 2007-04-15 20:42:16.000000000 +0300
++++ xine-lib-1.1.7/src/libxinevdec/gdkpixbuf.c 2007-08-14 00:45:36.000000000 +0300
+@@ -74,7 +74,7 @@ static void image_decode_data (video_dec
+
+ if (!this->video_open) {
+ lprintf("opening video\n");
+- this->stream->video_out->open(this->stream->video_out, this->stream);
++ (this->stream->video_out->open)(this->stream->video_out, this->stream);
+ this->video_open = 1;
+ }
+
+--- xine-lib-1.1.7/src/libxineadec/xine_lpcm_decoder.c~ 2007-04-17 04:00:50.000000000 +0300
++++ xine-lib-1.1.7/src/libxineadec/xine_lpcm_decoder.c 2007-08-14 00:50:49.000000000 +0300
+@@ -134,12 +134,12 @@ static void lpcm_decode_data (audio_deco
+
+ /* force 24-bit samples into 16 bits for now */
+ if (this->bits_per_sample == 24)
+- this->output_open = this->stream->audio_out->open (this->stream->audio_out, this->stream,
++ this->output_open = (this->stream->audio_out->open) (this->stream->audio_out, this->stream,
+ 16,
+ this->rate,
+ this->ao_cap_mode) ;
+ else
+- this->output_open = this->stream->audio_out->open (this->stream->audio_out, this->stream,
++ this->output_open = (this->stream->audio_out->open) (this->stream->audio_out, this->stream,
+ this->bits_per_sample,
+ this->rate,
+ this->ao_cap_mode) ;
+--- xine-lib-1.1.7/src/xine-engine/audio_out.c~ 2007-06-05 00:37:38.000000000 +0300
++++ xine-lib-1.1.7/src/xine-engine/audio_out.c 2007-08-14 00:34:30.000000000 +0300
+@@ -1401,7 +1401,7 @@ static int ao_change_settings(aos_t *thi
+ _("stereo not supported by driver, converting to mono.\n"));
+ }
+
+- output_sample_rate=this->driver->open(this->driver,bits,(this->force_rate ? this->force_rate : rate),mode);
++ output_sample_rate=(this->driver->open)(this->driver,bits,(this->force_rate ? this->force_rate : rate),mode);
+ } else
+ output_sample_rate = this->input.rate;
+
+--- xine-lib-1.1.7/src/xine-engine/xine.c~ 2007-05-06 17:20:54.000000000 +0300
++++ xine-lib-1.1.7/src/xine-engine/xine.c 2007-08-14 00:26:30.000000000 +0300
+@@ -462,7 +462,7 @@ static int stream_rewire_audio(xine_post
+
+ if (stream->audio_out->status(stream->audio_out, stream, &bits, &rate, &mode)) {
+ /* register our stream at the new output port */
+- new_port->open(new_port, stream, bits, rate, mode);
++ (new_port->open)(new_port, stream, bits, rate, mode);
+ stream->audio_out->close(stream->audio_out, stream);
+ }
+ stream->audio_out = new_port;
+@@ -486,7 +486,7 @@ static int stream_rewire_video(xine_post
+
+ if (stream->video_out->status(stream->video_out, stream, &width, &height, &img_duration)) {
+ /* register our stream at the new output port */
+- new_port->open(new_port, stream);
++ (new_port->open)(new_port, stream);
+ stream->video_out->close(stream->video_out, stream);
+ }
+ stream->video_out = new_port;
+@@ -773,7 +773,7 @@ static int open_internal (xine_stream_t
+ _x_meta_info_set_utf8(stream, XINE_META_INFO_INPUT_PLUGIN,
+ (stream->input_plugin->input_class->get_identifier (stream->input_plugin->input_class)));
+
+- res = stream->input_plugin->open(stream->input_plugin);
++ res = (stream->input_plugin->open)(stream->input_plugin);
+ switch(res) {
+ case 1: /* Open successfull */
+ free(input_source);
+--- xine-lib-1.1.7/src/libreal/xine_real_audio_decoder.c~ 2007-04-17 04:00:50.000000000 +0300
++++ xine-lib-1.1.7/src/libreal/xine_real_audio_decoder.c 2007-08-14 01:00:32.000000000 +0300
+@@ -339,7 +339,7 @@ static int init_codec (realdec_decoder_t
+ return 0;
+ }
+
+- this->stream->audio_out->open(this->stream->audio_out,
++ (this->stream->audio_out->open)(this->stream->audio_out,
+ this->stream,
+ bits_per_sample,
+ samples_per_sec,
+--- xine-lib-1.1.7/src/libreal/xine_real_video_decoder.c~ 2007-04-17 04:00:50.000000000 +0300
++++ xine-lib-1.1.7/src/libreal/xine_real_video_decoder.c 2007-08-14 00:54:52.000000000 +0300
+@@ -268,7 +268,7 @@ static int init_codec (realdec_decoder_t
+ this->rvyuv_custom_message (&cmsg_data, this->context);
+ }
+
+- this->stream->video_out->open(this->stream->video_out, this->stream);
++ (this->stream->video_out->open)(this->stream->video_out, this->stream);
+
+ this->frame_size = this->width * this->height;
+ this->frame_buffer = xine_xmalloc (this->width * this->height * 3 / 2);
diff --git a/xine-lib.spec b/xine-lib.spec
index 8aa1cae..0474184 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -1,6 +1,8 @@
# TODO, sometime, maybe:
# - libstk: http://www.libstk.net/ - probably not, see 1.1.5 ChangeLog
-# - xcb stuff when it's available
+
+# TODO: drop the opengl video out plugin?
+# http://www.redhat.com/archives/fedora-legal-list/2007-August/msg00011.html
%define codecdir %{_libdir}/codecs
%ifarch %{ix86}
@@ -12,8 +14,8 @@
Summary: Xine library
Name: xine-lib
Version: 1.1.7
-Release: 1%{?dist}
-License: GPL
+Release: 2%{?dist}
+License: GPLv2+
Group: System Environment/Libraries
URL: http://xinehq.de/
# The tarball is generated from the upstream tarball using
@@ -25,11 +27,13 @@ Source2: %{name}-mk-autotools-patch.sh
# autotools patch created with source2
Patch0: %{name}-%{version}-autotools.patch.bz2
Patch1: %{name}-1.1.4-optflags.patch
+Patch2: %{name}-1.1.7-open.patch
Patch6: %{name}-1.1.1-deepbind-939.patch
Patch7: %{name}-1.1.5-multilib-devel.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
# X11
-BuildRequires: libX11-devel libXv-devel libXinerama-devel libXvMC-devel libGLU-devel
+BuildRequires: libX11-devel libXv-devel libXinerama-devel libXvMC-devel
+BuildRequires: libGLU-devel libxcb-devel
# Video
BuildRequires: SDL-devel libtheora-devel libmng-devel
BuildRequires: aalib-devel >= 1.4
@@ -109,6 +113,7 @@ touch -r configure.ac aclocal.m4
touch -r m4/optimizations.m4 m4/optimizations.m4.stamp
%patch1 -p1 -b .optflags
touch -r m4/optimizations.m4.stamp m4/optimizations.m4
+%patch2 -p1 -b .open
# Patch6 needed at least when compiling with external ffmpeg, #939.
%patch6 -p1 -b .deepbind
%patch7 -p0 -b .multilib-devel
@@ -121,36 +126,37 @@ sed -i -e 's|"/lib /usr/lib\b|"/%{_lib} %{_libdir}|' configure
export FFMPEG_CFLAGS=" " FFMPEG_LIBS=" "
export FFMPEG_POSTPROC_CFLAGS=" " FFMPEG_POSTPROC_LIBS=" "
export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)"
-%configure --disable-dependency-tracking \
- --with-xv-path=%{_libdir} \
- --with-w32-path=%{codecdir} \
- --with-real-codecs-path=%{codecdir} \
- --with-external-ffmpeg \
- --with-external-libmpcdec \
- --with-libflac \
- --with-wavpack \
- --with-arts \
+# Keep list of options in mostly the same order as ./configure --help.
+%configure \
+ --disable-dependency-tracking \
--enable-ipv6 \
%if 0%{!?_without_directfb:1}
--enable-directfb \
-%endif
-%if 0%{?_without_imagemagick:1}
- --without-imagemagick \
-%endif
+%endif # directfb
+ --disable-a52dec \
+ --disable-mad \
+ --disable-dvdnavtest --with-external-dvdnav \
+ --disable-vcd \
+ --disable-asf \
+ --disable-faad \
%if 0%{?_with_freetype:1}
- --with-freetype \
- --with-fontconfig \
%if 0%{?_with_antialiasing:1}
--enable-antialiasing \
-%endif
-%endif
- --disable-libfame \
- --disable-faad \
- --disable-mad \
- --disable-asf \
- --disable-vcd \
- --disable-a52dec \
- --with-external-dvdnav --disable-dvdnavtest
+%endif # antialiasing
+ --with-freetype \
+ --with-fontconfig \
+%endif # freetype
+ --with-external-ffmpeg \
+ --with-xv-path=%{_libdir} \
+ --with-libflac \
+ --with-external-libmpcdec \
+%if 0%{?_without_imagemagick:1}
+ --without-imagemagick \
+%endif # imagemagick
+ --with-arts \
+ --with-wavpack \
+ --with-real-codecs-path=%{codecdir} \
+ --with-w32-path=%{codecdir}
make %{?_smp_mflags}
@@ -301,6 +307,8 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xdirectfb.so
%endif
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_sdl.so
+%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xcbshm.so
+%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xcbxv.so
%files devel
@@ -316,6 +324,12 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Tue Aug 14 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.7-2
+- Include XCB output plugins (in -extras at least for now).
+- Protect "open" with glibc 2.6.90 and -D_FORTIFY_SOURCE=2.
+- Clean up %%configure options.
+- License: GPLv2+
+
* Thu Jun 7 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.7-1
- 1.1.7.
commit 0fc6f1617779242a7ad2bd6fd2c9b75610551055
Author: Ville Skyttä <scop(a)fedoraproject.org>
Date: Thu Jun 7 20:40:52 2007 +0000
* Thu Jun 7 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.7-1
- 1.1.7.
diff --git a/.cvsignore b/.cvsignore
index 1a3b46f..e98b803 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -1,2 +1,2 @@
-xine-lib-1.1.6-pruned.tar.bz2
-xine-lib-1.1.6-autotools.patch.bz2
+xine-lib-1.1.7-pruned.tar.bz2
+xine-lib-1.1.7-autotools.patch.bz2
diff --git a/sources b/sources
index 0470388..4131b00 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-3869f0045311b3638c5724cd1ac122e9 xine-lib-1.1.6-pruned.tar.bz2
-25742f2347a1d9c4c08476c82f3ec5fc xine-lib-1.1.6-autotools.patch.bz2
+8f0714de28dab403288bbccf1a8c30c2 xine-lib-1.1.7-pruned.tar.bz2
+6b7f1d168b8b367a8c7709db687c60f6 xine-lib-1.1.7-autotools.patch.bz2
diff --git a/xine-lib.spec b/xine-lib.spec
index 9b6afd7..8aa1cae 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -11,8 +11,8 @@
Summary: Xine library
Name: xine-lib
-Version: 1.1.6
-Release: 3%{?dist}
+Version: 1.1.7
+Release: 1%{?dist}
License: GPL
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -129,6 +129,7 @@ export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)"
--with-external-libmpcdec \
--with-libflac \
--with-wavpack \
+ --with-arts \
--enable-ipv6 \
%if 0%{!?_without_directfb:1}
--enable-directfb \
@@ -315,7 +316,10 @@ rm -rf $RPM_BUILD_ROOT
%changelog
-* Wed Jun 06 2007 Rex Dieter <rdieter[AT]fedoaproject.org> - 1.1.6-3
+* Thu Jun 7 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.7-1
+- 1.1.7.
+
+* Wed Jun 06 2007 Rex Dieter <rdieter[AT]fedoraproject.org> - 1.1.6-3
- respin (for libmpcdec)
* Wed Apr 25 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.6-2
commit 2cbdd03d78adbba875d4d419f78af85e6a8d0184
Author: Rex Dieter <rdieter(a)fedoraproject.org>
Date: Wed Jun 6 16:23:53 2007 +0000
* Wed Jun 06 2007 Rex Dieter <rdieter[AT]fedoaproject.org> - 1.1.6-3
- respin (for libmpcdec)
diff --git a/xine-lib.spec b/xine-lib.spec
index f2a41cb..9b6afd7 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -12,7 +12,7 @@
Summary: Xine library
Name: xine-lib
Version: 1.1.6
-Release: 2%{?dist}
+Release: 3%{?dist}
License: GPL
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -315,6 +315,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Wed Jun 06 2007 Rex Dieter <rdieter[AT]fedoaproject.org> - 1.1.6-3
+- respin (for libmpcdec)
+
* Wed Apr 25 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.6-2
- Make Real codec search path /usr/lib(64)/codecs again (#237743).
commit 4ff7d1bbce5e644fdff73373daed4a729f71ec65
Author: Ville Skyttä <scop(a)fedoraproject.org>
Date: Wed Apr 25 17:45:04 2007 +0000
* Wed Apr 25 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.6-2
- Make Real codec search path /usr/lib(64)/codecs again (#237743).
diff --git a/xine-lib.spec b/xine-lib.spec
index 6c822ce..f2a41cb 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -12,7 +12,7 @@
Summary: Xine library
Name: xine-lib
Version: 1.1.6
-Release: 1%{?dist}
+Release: 2%{?dist}
License: GPL
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -124,6 +124,7 @@ export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)"
%configure --disable-dependency-tracking \
--with-xv-path=%{_libdir} \
--with-w32-path=%{codecdir} \
+ --with-real-codecs-path=%{codecdir} \
--with-external-ffmpeg \
--with-external-libmpcdec \
--with-libflac \
@@ -182,8 +183,8 @@ rm -rf $RPM_BUILD_ROOT
%defattr(-,root,root,-)
%doc AUTHORS COPYING COPYING.LIB CREDITS ChangeLog* README TODO
%doc __docs/README.* __docs/faq.*
-%dir %{codecdir}
-%{_datadir}/xine
+%dir %{codecdir}/
+%{_datadir}/xine/
%{_libdir}/libxine.so.*
%{_mandir}/man5/xine.5*
%dir %{_libdir}/xine/
@@ -314,6 +315,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Wed Apr 25 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.6-2
+- Make Real codec search path /usr/lib(64)/codecs again (#237743).
+
* Wed Apr 18 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.6-1
- 1.1.6.
commit 11a6980ba9d63b5dba2d445ad796531a35d32104
Author: Ville Skyttä <scop(a)fedoraproject.org>
Date: Wed Apr 18 17:57:19 2007 +0000
* Wed Apr 18 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.6-1
- 1.1.6.
diff --git a/.cvsignore b/.cvsignore
index 41883b2..1a3b46f 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -1,2 +1,2 @@
-xine-lib-1.1.5-pruned.tar.bz2
-xine-lib-1.1.5-autotools.patch.bz2
+xine-lib-1.1.6-pruned.tar.bz2
+xine-lib-1.1.6-autotools.patch.bz2
diff --git a/sources b/sources
index f2e30be..0470388 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-f903a0426a812ea70200b7a528f67b00 xine-lib-1.1.5-pruned.tar.bz2
-f955ece2fba4dfbbf22fbb2a8376ae60 xine-lib-1.1.5-autotools.patch.bz2
+3869f0045311b3638c5724cd1ac122e9 xine-lib-1.1.6-pruned.tar.bz2
+25742f2347a1d9c4c08476c82f3ec5fc xine-lib-1.1.6-autotools.patch.bz2
diff --git a/xine-lib-1.1.5-pthread-check.patch b/xine-lib-1.1.5-pthread-check.patch
deleted file mode 100644
index 9a6a974..0000000
--- a/xine-lib-1.1.5-pthread-check.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-Upstream changeset 8743:defc4f072bde + additional fix in fakethread().
-
-diff -r d1512848e87b -r defc4f072bde m4/pthreads.m4
---- a/m4/pthreads.m4 Tue Apr 10 17:08:22 2007 +0100
-+++ b/m4/pthreads.m4 Wed Apr 11 17:32:13 2007 +0200
-@@ -36,11 +36,15 @@ AC_DEFUN([CC_PTHREAD_FLAGS], [
- [ac_save_CFLAGS="$CFLAGS"
- ac_save_LIBS="$LIBS"
- CFLAGS="$CFLAGS $cc_cv_werror $PTHREAD_CFLAGS"
-+
- LIBS="$LIBS $PTHREAD_LIBS"
-- AC_COMPILE_IFELSE(
-+ AC_LINK_IFELSE(
- [AC_LANG_PROGRAM(
-- [[#include <pthread.h>]],
-- [[pthread_create(NULL, NULL, NULL, NULL);]]
-+ [[#include <pthread.h>
-+ void *fakethread(void *arg) { return NULL; }
-+ pthread_t fakevariable;
-+ ]],
-+ [[pthread_create(&fakevariable, NULL, &fakethread, NULL);]]
- )],
- [cc_cv_pthreads=yes],
- [cc_cv_pthreads=no])
diff --git a/xine-lib-mk-autotools-patch.sh b/xine-lib-mk-autotools-patch.sh
index 4166b06..93590b4 100644
--- a/xine-lib-mk-autotools-patch.sh
+++ b/xine-lib-mk-autotools-patch.sh
@@ -23,7 +23,6 @@ tar jxf xine-lib-$version-pruned.tar.bz2
cp -a xine-lib-$version xine-lib-$version-pruned
cd xine-lib-$version
-patch -p1 < ../xine-lib-$version-pthread-check.patch # XXX hopefully temporary
./autogen.sh noconfig
rm -rf autom4te.cache *~
cd ..
diff --git a/xine-lib.spec b/xine-lib.spec
index 0dcdc74..6c822ce 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -11,7 +11,7 @@
Summary: Xine library
Name: xine-lib
-Version: 1.1.5
+Version: 1.1.6
Release: 1%{?dist}
License: GPL
Group: System Environment/Libraries
@@ -23,10 +23,8 @@ Source0: %{name}-%{version}-pruned.tar.bz2
Source1: %{name}-cleanup-sources.sh
Source2: %{name}-mk-autotools-patch.sh
# autotools patch created with source2
-Patch0: %{name}-1.1.5-autotools.patch.bz2
+Patch0: %{name}-%{version}-autotools.patch.bz2
Patch1: %{name}-1.1.4-optflags.patch
-# Patch2 applied while creating full autotools patch
-Patch2: %{name}-1.1.5-pthread-check.patch
Patch6: %{name}-1.1.1-deepbind-939.patch
Patch7: %{name}-1.1.5-multilib-devel.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@@ -298,6 +296,7 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_caca.so
%if 0%{!?_without_directfb:1}
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_directfb.so
+%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xdirectfb.so
%endif
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_sdl.so
@@ -315,6 +314,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Wed Apr 18 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.6-1
+- 1.1.6.
+
* Wed Apr 11 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.5-1
- 1.1.5.
- Include GSM 06.10 decoder (#228186).
commit 3d651b1200ac692a613769ee8af558cbaebb7619
Author: Ville Skyttä <scop(a)fedoraproject.org>
Date: Wed Apr 11 21:36:29 2007 +0000
* Wed Apr 11 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.5-1
- 1.1.5.
- Include GSM 06.10 decoder (#228186).
- Re-enable CACA support.
diff --git a/.cvsignore b/.cvsignore
index aea6ec7..41883b2 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -1,2 +1,2 @@
-xine-lib-1.1.4-pruned.tar.bz2
-xine-lib-1.1.4-autotools.patch.bz2
+xine-lib-1.1.5-pruned.tar.bz2
+xine-lib-1.1.5-autotools.patch.bz2
diff --git a/sources b/sources
index 2a4625c..f2e30be 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-81faabf1e38abed44639dbe4c76719f9 xine-lib-1.1.4-pruned.tar.bz2
-a916758545ed73a369f40648c7bc449c xine-lib-1.1.4-autotools.patch.bz2
+f903a0426a812ea70200b7a528f67b00 xine-lib-1.1.5-pruned.tar.bz2
+f955ece2fba4dfbbf22fbb2a8376ae60 xine-lib-1.1.5-autotools.patch.bz2
diff --git a/xine-lib-1.1.3-legacy-flac-init.patch b/xine-lib-1.1.3-legacy-flac-init.patch
deleted file mode 100644
index ba1cdb7..0000000
--- a/xine-lib-1.1.3-legacy-flac-init.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Index: src/libflac/decoder_flac.c
-===================================================================
-RCS file: /cvsroot/xine/xine-lib/src/libflac/decoder_flac.c,v
-retrieving revision 1.22
-diff -u -r1.22 decoder_flac.c
---- src/libflac/decoder_flac.c 25 Dec 2006 19:22:00 -0000 1.22
-+++ src/libflac/decoder_flac.c 3 Jan 2007 19:58:07 -0000
-@@ -363,7 +363,7 @@
-
- FLAC__stream_decoder_set_client_data (this->flac_decoder, this);
-
-- if (FLAC__stream_decoder_init (this->flac_decoder) == FLAC__STREAM_DECODER_SEARCH_FOR_METADATA) {
-+ if (FLAC__stream_decoder_init (this->flac_decoder) != FLAC__STREAM_DECODER_SEARCH_FOR_METADATA) {
- free (this);
- return NULL;
- }
diff --git a/xine-lib-1.1.4-CVE-2007-1246.patch b/xine-lib-1.1.4-CVE-2007-1246.patch
deleted file mode 100644
index c7fec5d..0000000
--- a/xine-lib-1.1.4-CVE-2007-1246.patch
+++ /dev/null
@@ -1,40 +0,0 @@
----------------------
-PatchSet 8656
-Date: 2007/03/10 02:41:34
-Author: dgp85
-Branch: HEAD
-Tag: (none)
-Log:
- * Security fixes:
- - Fix heap overflow in DMO loader. (CVE-2007-1246) [bug #1676925]
- Thanks to Kees Cook for reporting.
-
-Members:
- ChangeLog:1.724->1.725
- src/libw32dll/DirectShow/DS_VideoDecoder.c:1.9->1.10
- src/libw32dll/dmo/DMO_VideoDecoder.c:1.4->1.5
-
-Index: xine-lib/src/libw32dll/DirectShow/DS_VideoDecoder.c
-diff -u xine-lib/src/libw32dll/DirectShow/DS_VideoDecoder.c:1.9 xine-lib/src/libw32dll/DirectShow/DS_VideoDecoder.c:1.10
---- xine-lib/src/libw32dll/DirectShow/DS_VideoDecoder.c:1.9 Wed Dec 24 16:55:36 2003
-+++ xine-lib/src/libw32dll/DirectShow/DS_VideoDecoder.c Sat Mar 10 00:41:34 2007
-@@ -110,6 +110,7 @@
-
- this->iv.m_bh = (BITMAPINFOHEADER*)malloc(bihs);
- memcpy(this->iv.m_bh, format, bihs);
-+ this->iv.m_bh->biSize = bihs;
-
- this->iv.m_State = STOP;
- //this->iv.m_pFrame = 0;
-Index: xine-lib/src/libw32dll/dmo/DMO_VideoDecoder.c
-diff -u xine-lib/src/libw32dll/dmo/DMO_VideoDecoder.c:1.4 xine-lib/src/libw32dll/dmo/DMO_VideoDecoder.c:1.5
---- xine-lib/src/libw32dll/dmo/DMO_VideoDecoder.c:1.4 Wed Dec 24 16:55:36 2003
-+++ xine-lib/src/libw32dll/dmo/DMO_VideoDecoder.c Sat Mar 10 00:41:34 2007
-@@ -118,6 +118,7 @@
-
- this->iv.m_bh = (BITMAPINFOHEADER*)malloc(bihs);
- memcpy(this->iv.m_bh, format, bihs);
-+ this->iv.m_bh->biSize = bihs;
-
- this->iv.m_State = STOP;
- //this->iv.m_pFrame = 0;
diff --git a/xine-lib-1.1.4-ftfree.patch b/xine-lib-1.1.4-ftfree.patch
deleted file mode 100644
index e8e7cd0..0000000
--- a/xine-lib-1.1.4-ftfree.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- src/xine-engine/osd.c 2007/02/20 00:34:58 1.84
-+++ src/xine-engine/osd.c 2007/03/03 22:59:37 1.86
-@@ -1481,7 +1481,16 @@
- while( osd ) {
- if ( osd == osd_to_close ) {
- free( osd->area );
-- if( osd->ft2 ) free( osd->ft2 );
-+
-+#ifdef HAVE_FT2
-+ if( osd->ft2 ) {
-+ if ( osd->ft2->library )
-+ FT_Done_FreeType(osd->ft2->library);
-+
-+ free( osd->ft2 );
-+ }
-+#endif
-+
- osd_free_encoding(osd);
-
- if( last )
diff --git a/xine-lib-1.1.1-multilib-devel.patch b/xine-lib-1.1.5-multilib-devel.patch
similarity index 77%
rename from xine-lib-1.1.1-multilib-devel.patch
rename to xine-lib-1.1.5-multilib-devel.patch
index ff0c549..5b5d05d 100644
--- a/xine-lib-1.1.1-multilib-devel.patch
+++ b/xine-lib-1.1.5-multilib-devel.patch
@@ -1,5 +1,5 @@
---- misc/xine-config.in~ 2005-09-05 20:02:57.000000000 +0300
-+++ misc/xine-config.in 2006-06-13 01:43:55.000000000 +0300
+--- misc/xine-config.in~ 2007-04-05 01:18:00.000000000 +0300
++++ misc/xine-config.in 2007-04-11 01:32:44.000000000 +0300
@@ -2,8 +2,8 @@
#
#
@@ -24,12 +24,12 @@
fi
if test "$echo_cflags" = "yes"; then
-- echo -I@includedir@ @THREAD_CPPFLAGS@
+- echo -I@includedir@ @PTHREAD_CFLAGS@
+ pkg-config libxine --cflags
fi
if test "$echo_libs" = "yes"; then
-- echo -L@libdir@ -lxine @ZLIB_LIBS@ @NET_LIBS@ @THREAD_LIBS@ @LIBICONV@ @RT_LIBS@
+- echo -L@libdir@ -lxine @ZLIB_LIBS@ @NET_LIBS@ @PTHREAD_LIBS@ @LIBICONV@ @RT_LIBS@
+ pkg-config libxine --libs
fi
if test "$echo_plugindir" = "yes"; then
diff --git a/xine-lib-1.1.5-pthread-check.patch b/xine-lib-1.1.5-pthread-check.patch
new file mode 100644
index 0000000..9a6a974
--- /dev/null
+++ b/xine-lib-1.1.5-pthread-check.patch
@@ -0,0 +1,24 @@
+Upstream changeset 8743:defc4f072bde + additional fix in fakethread().
+
+diff -r d1512848e87b -r defc4f072bde m4/pthreads.m4
+--- a/m4/pthreads.m4 Tue Apr 10 17:08:22 2007 +0100
++++ b/m4/pthreads.m4 Wed Apr 11 17:32:13 2007 +0200
+@@ -36,11 +36,15 @@ AC_DEFUN([CC_PTHREAD_FLAGS], [
+ [ac_save_CFLAGS="$CFLAGS"
+ ac_save_LIBS="$LIBS"
+ CFLAGS="$CFLAGS $cc_cv_werror $PTHREAD_CFLAGS"
++
+ LIBS="$LIBS $PTHREAD_LIBS"
+- AC_COMPILE_IFELSE(
++ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+- [[#include <pthread.h>]],
+- [[pthread_create(NULL, NULL, NULL, NULL);]]
++ [[#include <pthread.h>
++ void *fakethread(void *arg) { return NULL; }
++ pthread_t fakevariable;
++ ]],
++ [[pthread_create(&fakevariable, NULL, &fakethread, NULL);]]
+ )],
+ [cc_cv_pthreads=yes],
+ [cc_cv_pthreads=no])
diff --git a/xine-lib-cleanup-sources.sh b/xine-lib-cleanup-sources.sh
index 9cd32fd..0a240f2 100755
--- a/xine-lib-cleanup-sources.sh
+++ b/xine-lib-cleanup-sources.sh
@@ -22,7 +22,7 @@ tar -xjf $tarball
cd $dir
# Main libraries
-for remove in libfaad libffmpeg libmad libmpeg2 dxr3 libspudec libxineadec libspucmml libspucc liba52 libdts; do
+for remove in libfaad libffmpeg libmad libmpeg2 dxr3 libspudec libspucmml libspucc liba52 libdts; do
echo "removing src/$remove..."
rm -rf src/$remove
sed -i -e "/$remove/d" src/Makefile.am
@@ -53,8 +53,20 @@ for p in mpeg mpeg_block mpeg_ts mpeg_elem mpeg_pes yuv4mpeg2; do
[ -f src/demuxers/demux_$p.c ] && rm -f src/demuxers/demux_$p.c
sed -i -e "/xineplug_dmx_$p/d" src/demuxers/Makefile.am
done
+# Postprocessors
echo "removing planar and deinterlace postprocessors..."
-sed -i -e 's/planar//g;s/deinterlace//g' src/post/Makefile.am # fails to build
+sed -i -e 's/deinterlace //g' src/post/Makefile.am # see comments in speedy.c
+sed -i -e 's/planar //g' src/post/Makefile.am # requires libpostproc
+sed -i -e '/post\/\(deinterlace\|planar\)/d' configure.ac
+rm -rf src/post/{deinterlace,planar}
+# NSF decoder
+echo "removing NSF decoder..."
+rm -rf src/libxineadec/{nosefart,nsf.c}
+sed -i -e '/^xineplug_decode_nsf_la/,/^\s*$/d' \
+ -e /xineplug_decode_nsf/d \
+ -e 's/ nosefart//' \
+ src/libxineadec/Makefile.am
+sed -i -e /nosefart/d configure.ac
# All clean !
diff --git a/xine-lib-mk-autotools-patch.sh b/xine-lib-mk-autotools-patch.sh
index 88db99c..4166b06 100644
--- a/xine-lib-mk-autotools-patch.sh
+++ b/xine-lib-mk-autotools-patch.sh
@@ -11,11 +11,19 @@ fi
version=$1
+# missing dependency on autoconf >= (apparently) 2.61 in upstream autofoo files
+acversion="$(rpm -q --qf=%{VERSION} autoconf)"
+case $acversion in
+ 2.6*) ;;
+ *) echo "ERROR: autoconf >= 2.61 required" ; exit 1 ;;
+esac
+
rm -rf xine-lib-$version xine-lib-$version-pruned
tar jxf xine-lib-$version-pruned.tar.bz2
cp -a xine-lib-$version xine-lib-$version-pruned
cd xine-lib-$version
+patch -p1 < ../xine-lib-$version-pthread-check.patch # XXX hopefully temporary
./autogen.sh noconfig
rm -rf autom4te.cache *~
cd ..
diff --git a/xine-lib.spec b/xine-lib.spec
index 4530cdb..0dcdc74 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -1,5 +1,6 @@
# TODO, sometime, maybe:
-# - libstk: http://www.libstk.net/
+# - libstk: http://www.libstk.net/ - probably not, see 1.1.5 ChangeLog
+# - xcb stuff when it's available
%define codecdir %{_libdir}/codecs
%ifarch %{ix86}
@@ -10,8 +11,8 @@
Summary: Xine library
Name: xine-lib
-Version: 1.1.4
-Release: 4%{?dist}
+Version: 1.1.5
+Release: 1%{?dist}
License: GPL
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -22,22 +23,19 @@ Source0: %{name}-%{version}-pruned.tar.bz2
Source1: %{name}-cleanup-sources.sh
Source2: %{name}-mk-autotools-patch.sh
# autotools patch created with source2
-Patch0: %{name}-1.1.4-autotools.patch.bz2
+Patch0: %{name}-1.1.5-autotools.patch.bz2
Patch1: %{name}-1.1.4-optflags.patch
-Patch2: %{name}-1.1.4-CVE-2007-1246.patch
-Patch3: %{name}-1.1.3-legacy-flac-init.patch
-Patch4: %{name}-1.1.4-ftfree.patch
+# Patch2 applied while creating full autotools patch
+Patch2: %{name}-1.1.5-pthread-check.patch
Patch6: %{name}-1.1.1-deepbind-939.patch
-Patch7: %{name}-1.1.1-multilib-devel.patch
+Patch7: %{name}-1.1.5-multilib-devel.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
# X11
BuildRequires: libX11-devel libXv-devel libXinerama-devel libXvMC-devel libGLU-devel
# Video
BuildRequires: SDL-devel libtheora-devel libmng-devel
BuildRequires: aalib-devel >= 1.4
-%if 0%{?_with_caca:1}
BuildRequires: libcaca-devel >= 0.99
-%endif
%if 0%{!?_without_directfb:1}
BuildRequires: directfb-devel
%endif
@@ -79,7 +77,6 @@ interprets many of the most common multimedia formats available - and some
of the most uncommon formats, too. Non-default rpmbuild options:
--without imagemagick: Disable ImageMagick support
--without directfb: Disable DirectFB support
---with caca: Enable CACA support
--with freetype: Enable FreeType/Fontconfig support
--with antialiasing: Enable font antialiasing (with FreeType/FontConfig)
@@ -97,9 +94,7 @@ This package contains extra plugins for xine-lib:
- SMB
- SDL
- AA-lib
-%if 0%{?_with_caca:1}
- Libcaca
-%endif
%if 0%{!?_without_imagemagick:1}
- Image decoding
%endif
@@ -115,16 +110,11 @@ This package contains extra plugins for xine-lib:
touch -r configure.ac aclocal.m4
touch -r m4/optimizations.m4 m4/optimizations.m4.stamp
%patch1 -p1 -b .optflags
-%patch2 -p1 -b .CVE-2007-1246
touch -r m4/optimizations.m4.stamp m4/optimizations.m4
-%patch3 -p0 -b .legacy-flac-init
-%patch4 -p0 -b .ftfree
# Patch6 needed at least when compiling with external ffmpeg, #939.
%patch6 -p1 -b .deepbind
%patch7 -p0 -b .multilib-devel
-find . -name "*.[hc]" | xargs chmod -c -x
-
# Avoid standard rpaths on lib64 archs:
sed -i -e 's|"/lib /usr/lib\b|"/%{_lib} %{_libdir}|' configure
@@ -147,9 +137,6 @@ export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)"
%if 0%{?_without_imagemagick:1}
--without-imagemagick \
%endif
-%if 0%{!?_with_caca:1}
- --without-caca \
-%endif
%if 0%{?_with_freetype:1}
--with-freetype \
--with-fontconfig \
@@ -195,7 +182,7 @@ rm -rf $RPM_BUILD_ROOT
%files -f libxine1.lang
%defattr(-,root,root,-)
-%doc AUTHORS COPYING CREDITS ChangeLog* README TODO
+%doc AUTHORS COPYING COPYING.LIB CREDITS ChangeLog* README TODO
%doc __docs/README.* __docs/faq.*
%dir %{codecdir}
%{_datadir}/xine
@@ -204,6 +191,7 @@ rm -rf $RPM_BUILD_ROOT
%dir %{_libdir}/xine/
%dir %{_libdir}/xine/plugins/
%dir %{_libdir}/xine/plugins/%{version}/
+%{_libdir}/xine/plugins/%{version}/mime.types
# Listing every plugin separately for better control over binary packages
# containing exactly the plugins we want, nothing accidentally snuck in
# nor dropped.
@@ -233,13 +221,13 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_none.so
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_oss.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_bitplane.so
+%{_libdir}/xine/plugins/%{version}/xineplug_decode_gsm610.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_lpcm.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_mpc.so
%ifarch %ix86
%{_libdir}/xine/plugins/%{version}/xineplug_decode_qt.so
%endif
%{_libdir}/xine/plugins/%{version}/xineplug_decode_real.so
-%{_libdir}/xine/plugins/%{version}/xineplug_decode_real_audio.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_rgb.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_speex.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_spudvb.so
@@ -307,9 +295,7 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{version}/xineplug_inp_gnome_vfs.so
%{_libdir}/xine/plugins/%{version}/xineplug_inp_smb.so
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_aa.so
-%if 0%{?_with_caca:1}
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_caca.so
-%endif
%if 0%{!?_without_directfb:1}
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_directfb.so
%endif
@@ -329,6 +315,11 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Wed Apr 11 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.5-1
+- 1.1.5.
+- Include GSM 06.10 decoder (#228186).
+- Re-enable CACA support.
+
* Sun Apr 8 2007 Ville Skyttä <ville.skytta at iki.fi>
- Exclude vidix dir on systems that don't have vidix.
- Specfile cleanups.
commit 8a1dd4f6d7128d5767395cff668816f6cf4aaf1c
Author: Ville Skyttä <scop(a)fedoraproject.org>
Date: Sun Apr 8 18:09:47 2007 +0000
Order/expand all plugins in %files, don't ship empty vidix dir.
diff --git a/xine-lib.spec b/xine-lib.spec
index a46faaa..4530cdb 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -2,6 +2,11 @@
# - libstk: http://www.libstk.net/
%define codecdir %{_libdir}/codecs
+%ifarch %{ix86}
+%define have_vidix 1
+%else
+%define have_vidix 0
+%endif
Summary: Xine library
Name: xine-lib
@@ -199,72 +204,94 @@ rm -rf $RPM_BUILD_ROOT
%dir %{_libdir}/xine/
%dir %{_libdir}/xine/plugins/
%dir %{_libdir}/xine/plugins/%{version}/
-# I list all the plugins because I don't want a non-free plugin
-# to sneak into a future version
+# Listing every plugin separately for better control over binary packages
+# containing exactly the plugins we want, nothing accidentally snuck in
+# nor dropped.
+%dir %{_libdir}/xine/plugins/%{version}/post/
+%{_libdir}/xine/plugins/%{version}/post/xineplug_post_audio_filters.so
+%{_libdir}/xine/plugins/%{version}/post/xineplug_post_goom.so
+%{_libdir}/xine/plugins/%{version}/post/xineplug_post_mosaico.so
+%{_libdir}/xine/plugins/%{version}/post/xineplug_post_switch.so
+%{_libdir}/xine/plugins/%{version}/post/xineplug_post_visualizations.so
+%if %{have_vidix}
+%dir %{_libdir}/xine/plugins/%{version}/vidix/
+%{_libdir}/xine/plugins/%{version}/vidix/cyberblade_vid.so
+%{_libdir}/xine/plugins/%{version}/vidix/mach64_vid.so
+%{_libdir}/xine/plugins/%{version}/vidix/mga_crtc2_vid.so
+%{_libdir}/xine/plugins/%{version}/vidix/mga_vid.so
+%{_libdir}/xine/plugins/%{version}/vidix/nvidia_vid.so
+%{_libdir}/xine/plugins/%{version}/vidix/pm2_vid.so
+%{_libdir}/xine/plugins/%{version}/vidix/pm3_vid.so
+%{_libdir}/xine/plugins/%{version}/vidix/radeon_vid.so
+%{_libdir}/xine/plugins/%{version}/vidix/rage128_vid.so
+%{_libdir}/xine/plugins/%{version}/vidix/savage_vid.so
+%{_libdir}/xine/plugins/%{version}/vidix/sis_vid.so
+%{_libdir}/xine/plugins/%{version}/vidix/unichrome_vid.so
+%endif
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_alsa.so
-%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_oss.so
-%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_none.so
-%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_fb.so
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_file.so
-%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_none.so
-%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_opengl.so
-%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_syncfb.so
-%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xshm.so
-%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xv.so
-%{_libdir}/xine/plugins/%{version}/xineplug_inp_dvb.so
-%{_libdir}/xine/plugins/%{version}/xineplug_inp_v4l.so
-%{_libdir}/xine/plugins/%{version}/xineplug_inp_file.so
-%{_libdir}/xine/plugins/%{version}/xineplug_inp_http.so
-%{_libdir}/xine/plugins/%{version}/xineplug_inp_net.so
-%{_libdir}/xine/plugins/%{version}/xineplug_inp_pnm.so
-%{_libdir}/xine/plugins/%{version}/xineplug_inp_cdda.so
-%{_libdir}/xine/plugins/%{version}/xineplug_inp_stdin_fifo.so
-%{_libdir}/xine/plugins/%{version}/xineplug_inp_rtsp.so
-%{_libdir}/xine/plugins/%{version}/xineplug_inp_pvr.so
-%{_libdir}/xine/plugins/%{version}/xineplug_inp_rtp.so
+%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_none.so
+%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_oss.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_bitplane.so
-%{_libdir}/xine/plugins/%{version}/xineplug_decode_rgb.so
-%{_libdir}/xine/plugins/%{version}/xineplug_decode_vorbis.so
-%{_libdir}/xine/plugins/%{version}/xineplug_decode_yuv.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_lpcm.so
+%{_libdir}/xine/plugins/%{version}/xineplug_decode_mpc.so
+%ifarch %ix86
+%{_libdir}/xine/plugins/%{version}/xineplug_decode_qt.so
+%endif
%{_libdir}/xine/plugins/%{version}/xineplug_decode_real.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_real_audio.so
+%{_libdir}/xine/plugins/%{version}/xineplug_decode_rgb.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_speex.so
-%{_libdir}/xine/plugins/%{version}/xineplug_decode_theora.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_spudvb.so
-%{_libdir}/xine/plugins/%{version}/xineplug_decode_mpc.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_sputext.so
-%{_libdir}/xine/plugins/%{version}/xineplug_dmx_yuv_frames.so
-%{_libdir}/xine/plugins/%{version}/xineplug_dmx_real.so
+%{_libdir}/xine/plugins/%{version}/xineplug_decode_theora.so
+%{_libdir}/xine/plugins/%{version}/xineplug_decode_vorbis.so
+%ifarch %ix86
+%{_libdir}/xine/plugins/%{version}/xineplug_decode_w32dll.so
+%endif
+%{_libdir}/xine/plugins/%{version}/xineplug_decode_yuv.so
%{_libdir}/xine/plugins/%{version}/xineplug_dmx_audio.so
-%{_libdir}/xine/plugins/%{version}/xineplug_dmx_iff.so
%{_libdir}/xine/plugins/%{version}/xineplug_dmx_avi.so
+%{_libdir}/xine/plugins/%{version}/xineplug_dmx_fli.so
%{_libdir}/xine/plugins/%{version}/xineplug_dmx_flv.so
+%{_libdir}/xine/plugins/%{version}/xineplug_dmx_games.so
+%{_libdir}/xine/plugins/%{version}/xineplug_dmx_iff.so
%{_libdir}/xine/plugins/%{version}/xineplug_dmx_image.so
%{_libdir}/xine/plugins/%{version}/xineplug_dmx_matroska.so
-%{_libdir}/xine/plugins/%{version}/xineplug_dmx_ogg.so
-%{_libdir}/xine/plugins/%{version}/xineplug_dmx_fli.so
-%{_libdir}/xine/plugins/%{version}/xineplug_dmx_nsv.so
%{_libdir}/xine/plugins/%{version}/xineplug_dmx_mng.so
+%{_libdir}/xine/plugins/%{version}/xineplug_dmx_nsv.so
+%{_libdir}/xine/plugins/%{version}/xineplug_dmx_ogg.so
%{_libdir}/xine/plugins/%{version}/xineplug_dmx_pva.so
%{_libdir}/xine/plugins/%{version}/xineplug_dmx_qt.so
%{_libdir}/xine/plugins/%{version}/xineplug_dmx_rawdv.so
-%{_libdir}/xine/plugins/%{version}/xineplug_dmx_sputext.so
-%{_libdir}/xine/plugins/%{version}/xineplug_dmx_games.so
+%{_libdir}/xine/plugins/%{version}/xineplug_dmx_real.so
%{_libdir}/xine/plugins/%{version}/xineplug_dmx_slave.so
+%{_libdir}/xine/plugins/%{version}/xineplug_dmx_sputext.so
+%{_libdir}/xine/plugins/%{version}/xineplug_dmx_yuv_frames.so
%{_libdir}/xine/plugins/%{version}/xineplug_flac.so
-%{_libdir}/xine/plugins/%{version}/xineplug_wavpack.so
-%ifarch %ix86
+%{_libdir}/xine/plugins/%{version}/xineplug_inp_cdda.so
+%{_libdir}/xine/plugins/%{version}/xineplug_inp_dvb.so
+%{_libdir}/xine/plugins/%{version}/xineplug_inp_file.so
+%{_libdir}/xine/plugins/%{version}/xineplug_inp_http.so
+%{_libdir}/xine/plugins/%{version}/xineplug_inp_net.so
+%{_libdir}/xine/plugins/%{version}/xineplug_inp_pnm.so
+%{_libdir}/xine/plugins/%{version}/xineplug_inp_pvr.so
+%{_libdir}/xine/plugins/%{version}/xineplug_inp_rtp.so
+%{_libdir}/xine/plugins/%{version}/xineplug_inp_rtsp.so
+%{_libdir}/xine/plugins/%{version}/xineplug_inp_stdin_fifo.so
+%{_libdir}/xine/plugins/%{version}/xineplug_inp_v4l.so
+%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_fb.so
+%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_none.so
+%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_opengl.so
+%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_syncfb.so
+%if %{have_vidix}
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_vidix.so
-%{_libdir}/xine/plugins/%{version}/xineplug_decode_qt.so
-%{_libdir}/xine/plugins/%{version}/xineplug_decode_w32dll.so
%endif
-%ifnarch ppc64 s390 s390x
-%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xxmc.so
+%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xshm.so
+%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xv.so
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xvmc.so
-%endif
-%{_libdir}/xine/plugins/%{version}/post/
-%{_libdir}/xine/plugins/%{version}/vidix/
+%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xxmc.so
+%{_libdir}/xine/plugins/%{version}/xineplug_wavpack.so
%files extras
@@ -273,20 +300,20 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_esd.so
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_jack.so
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_pulseaudio.so
+%{_libdir}/xine/plugins/%{version}/xineplug_decode_gdk_pixbuf.so
+%if 0%{!?_without_imagemagick:1}
+%{_libdir}/xine/plugins/%{version}/xineplug_decode_image.so
+%endif
%{_libdir}/xine/plugins/%{version}/xineplug_inp_gnome_vfs.so
%{_libdir}/xine/plugins/%{version}/xineplug_inp_smb.so
-%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_sdl.so
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_aa.so
-%{_libdir}/xine/plugins/%{version}/xineplug_decode_gdk_pixbuf.so
%if 0%{?_with_caca:1}
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_caca.so
%endif
-%if 0%{!?_without_imagemagick:1}
-%{_libdir}/xine/plugins/%{version}/xineplug_decode_image.so
-%endif
%if 0%{!?_without_directfb:1}
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_directfb.so
%endif
+%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_sdl.so
%files devel
@@ -302,6 +329,10 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Sun Apr 8 2007 Ville Skyttä <ville.skytta at iki.fi>
+- Exclude vidix dir on systems that don't have vidix.
+- Specfile cleanups.
+
* Mon Mar 26 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.4-4
- Add PulseAudio support (in -extras, #234035/Jost Diederichs).
- Adjust Samba build dependencies to work for both <= and > FC6.
commit 5274bd95b2a4030f1138be14ef43404bea81af44
Author: Ville Skyttä <scop(a)fedoraproject.org>
Date: Sun Apr 8 14:13:18 2007 +0000
Using bz2 tarball
diff --git a/xine-lib-cleanup-sources.sh b/xine-lib-cleanup-sources.sh
index 97da5bd..9cd32fd 100755
--- a/xine-lib-cleanup-sources.sh
+++ b/xine-lib-cleanup-sources.sh
@@ -6,7 +6,7 @@ if [ -z "$1" -o $# -ne 1 ]; then
fi
version=$1
-tarball="xine-lib-$version.tar.gz"
+tarball="xine-lib-$version.tar.bz2"
dir="xine-lib-$version"
modtarball="xine-lib-$version-pruned.tar.bz2"
@@ -18,7 +18,7 @@ fi
echo "Uncompressing $tarball..."
rm -rf $dir
-tar -xzf $tarball
+tar -xjf $tarball
cd $dir
# Main libraries
commit e9deeb7216effcc19fbf223a435ad6cefacfa0e2
Author: Ville Skyttä <scop(a)fedoraproject.org>
Date: Mon Mar 26 19:56:33 2007 +0000
* Mon Mar 26 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.4-4
- Add PulseAudio support (in -extras, #234035/Jost Diederichs).
- Adjust Samba build dependencies to work for both <= and > FC6.
- Add --with freetype and --with antialiasing build time options,
default disabled, and an upstream patch for FreeType memory leak (#233194).
diff --git a/xine-lib-1.1.4-ftfree.patch b/xine-lib-1.1.4-ftfree.patch
new file mode 100644
index 0000000..e8e7cd0
--- /dev/null
+++ b/xine-lib-1.1.4-ftfree.patch
@@ -0,0 +1,20 @@
+--- src/xine-engine/osd.c 2007/02/20 00:34:58 1.84
++++ src/xine-engine/osd.c 2007/03/03 22:59:37 1.86
+@@ -1481,7 +1481,16 @@
+ while( osd ) {
+ if ( osd == osd_to_close ) {
+ free( osd->area );
+- if( osd->ft2 ) free( osd->ft2 );
++
++#ifdef HAVE_FT2
++ if( osd->ft2 ) {
++ if ( osd->ft2->library )
++ FT_Done_FreeType(osd->ft2->library);
++
++ free( osd->ft2 );
++ }
++#endif
++
+ osd_free_encoding(osd);
+
+ if( last )
diff --git a/xine-lib.spec b/xine-lib.spec
index 2397a7b..a46faaa 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -1,14 +1,12 @@
# TODO, sometime, maybe:
# - libstk: http://www.libstk.net/
-# - pulseaudio
-# - --enable-antialiasing?
%define codecdir %{_libdir}/codecs
Summary: Xine library
Name: xine-lib
Version: 1.1.4
-Release: 3%{?dist}
+Release: 4%{?dist}
License: GPL
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -23,13 +21,14 @@ Patch0: %{name}-1.1.4-autotools.patch.bz2
Patch1: %{name}-1.1.4-optflags.patch
Patch2: %{name}-1.1.4-CVE-2007-1246.patch
Patch3: %{name}-1.1.3-legacy-flac-init.patch
+Patch4: %{name}-1.1.4-ftfree.patch
Patch6: %{name}-1.1.1-deepbind-939.patch
Patch7: %{name}-1.1.1-multilib-devel.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
# X11
BuildRequires: libX11-devel libXv-devel libXinerama-devel libXvMC-devel libGLU-devel
# Video
-BuildRequires: freetype-devel SDL-devel libtheora-devel libmng-devel
+BuildRequires: SDL-devel libtheora-devel libmng-devel
BuildRequires: aalib-devel >= 1.4
%if 0%{?_with_caca:1}
BuildRequires: libcaca-devel >= 0.99
@@ -40,14 +39,20 @@ BuildRequires: directfb-devel
%if 0%{!?_without_imagemagick:1}
BuildRequires: ImageMagick-devel >= 6.2.4.6-1
%endif
+%if 0%{?_with_freetype:1}
+BuildRequires: fontconfig-devel
+%endif
# Audio
BuildRequires: libogg-devel libvorbis-devel flac-devel libmodplug-devel
BuildRequires: esound-devel speex-devel arts-devel alsa-lib-devel >= 0.9.0
BuildRequires: jack-audio-connection-kit-devel wavpack-devel libmpcdec-devel
+BuildRequires: pulseaudio-lib-devel
# CDs
BuildRequires: libcdio-devel
# Other
-BuildRequires: pkgconfig gnome-vfs2-devel gtk2-devel samba-common
+BuildRequires: pkgconfig gnome-vfs2-devel gtk2-devel
+# samba-common in <= FC-6, libsmbclient-devel in FC7+
+BuildRequires: %{_includedir}/libsmbclient.h
%package devel
Summary: Xine library development files
@@ -70,6 +75,8 @@ of the most uncommon formats, too. Non-default rpmbuild options:
--without imagemagick: Disable ImageMagick support
--without directfb: Disable DirectFB support
--with caca: Enable CACA support
+--with freetype: Enable FreeType/Fontconfig support
+--with antialiasing: Enable font antialiasing (with FreeType/FontConfig)
%description devel
This package contains development files for xine-lib.
@@ -79,6 +86,7 @@ This package contains extra plugins for xine-lib:
- aRts
- EsounD
- JACK
+ - Pulseaudio
- GDK-Pixbuf
- GNOME VFS
- SMB
@@ -105,6 +113,7 @@ touch -r m4/optimizations.m4 m4/optimizations.m4.stamp
%patch2 -p1 -b .CVE-2007-1246
touch -r m4/optimizations.m4.stamp m4/optimizations.m4
%patch3 -p0 -b .legacy-flac-init
+%patch4 -p0 -b .ftfree
# Patch6 needed at least when compiling with external ffmpeg, #939.
%patch6 -p1 -b .deepbind
%patch7 -p0 -b .multilib-devel
@@ -135,6 +144,13 @@ export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)"
%endif
%if 0%{!?_with_caca:1}
--without-caca \
+%endif
+%if 0%{?_with_freetype:1}
+ --with-freetype \
+ --with-fontconfig \
+%if 0%{?_with_antialiasing:1}
+ --enable-antialiasing \
+%endif
%endif
--disable-libfame \
--disable-faad \
@@ -256,6 +272,7 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_arts.so
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_esd.so
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_jack.so
+%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_pulseaudio.so
%{_libdir}/xine/plugins/%{version}/xineplug_inp_gnome_vfs.so
%{_libdir}/xine/plugins/%{version}/xineplug_inp_smb.so
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_sdl.so
@@ -284,8 +301,13 @@ rm -rf $RPM_BUILD_ROOT
%{_mandir}/man1/xine-config.1*
-
%changelog
+* Mon Mar 26 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.4-4
+- Add PulseAudio support (in -extras, #234035/Jost Diederichs).
+- Adjust Samba build dependencies to work for both <= and > FC6.
+- Add --with freetype and --with antialiasing build time options,
+ default disabled, and an upstream patch for FreeType memory leak (#233194).
+
* Sat Mar 10 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.4-3
- Apply upstream fix for CVE-2007-1246.
commit 074bb17cdcebb45f114c82cb0ee35369c0a05f09
Author: Ville Skyttä <scop(a)fedoraproject.org>
Date: Sat Mar 10 22:13:01 2007 +0000
* Sat Mar 10 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.4-3
- Apply upstream fix for CVE-2007-1246.
diff --git a/xine-lib-1.1.4-CVE-2007-1246.patch b/xine-lib-1.1.4-CVE-2007-1246.patch
new file mode 100644
index 0000000..c7fec5d
--- /dev/null
+++ b/xine-lib-1.1.4-CVE-2007-1246.patch
@@ -0,0 +1,40 @@
+---------------------
+PatchSet 8656
+Date: 2007/03/10 02:41:34
+Author: dgp85
+Branch: HEAD
+Tag: (none)
+Log:
+ * Security fixes:
+ - Fix heap overflow in DMO loader. (CVE-2007-1246) [bug #1676925]
+ Thanks to Kees Cook for reporting.
+
+Members:
+ ChangeLog:1.724->1.725
+ src/libw32dll/DirectShow/DS_VideoDecoder.c:1.9->1.10
+ src/libw32dll/dmo/DMO_VideoDecoder.c:1.4->1.5
+
+Index: xine-lib/src/libw32dll/DirectShow/DS_VideoDecoder.c
+diff -u xine-lib/src/libw32dll/DirectShow/DS_VideoDecoder.c:1.9 xine-lib/src/libw32dll/DirectShow/DS_VideoDecoder.c:1.10
+--- xine-lib/src/libw32dll/DirectShow/DS_VideoDecoder.c:1.9 Wed Dec 24 16:55:36 2003
++++ xine-lib/src/libw32dll/DirectShow/DS_VideoDecoder.c Sat Mar 10 00:41:34 2007
+@@ -110,6 +110,7 @@
+
+ this->iv.m_bh = (BITMAPINFOHEADER*)malloc(bihs);
+ memcpy(this->iv.m_bh, format, bihs);
++ this->iv.m_bh->biSize = bihs;
+
+ this->iv.m_State = STOP;
+ //this->iv.m_pFrame = 0;
+Index: xine-lib/src/libw32dll/dmo/DMO_VideoDecoder.c
+diff -u xine-lib/src/libw32dll/dmo/DMO_VideoDecoder.c:1.4 xine-lib/src/libw32dll/dmo/DMO_VideoDecoder.c:1.5
+--- xine-lib/src/libw32dll/dmo/DMO_VideoDecoder.c:1.4 Wed Dec 24 16:55:36 2003
++++ xine-lib/src/libw32dll/dmo/DMO_VideoDecoder.c Sat Mar 10 00:41:34 2007
+@@ -118,6 +118,7 @@
+
+ this->iv.m_bh = (BITMAPINFOHEADER*)malloc(bihs);
+ memcpy(this->iv.m_bh, format, bihs);
++ this->iv.m_bh->biSize = bihs;
+
+ this->iv.m_State = STOP;
+ //this->iv.m_pFrame = 0;
diff --git a/xine-lib.spec b/xine-lib.spec
index 54db4dc..2397a7b 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -8,7 +8,7 @@
Summary: Xine library
Name: xine-lib
Version: 1.1.4
-Release: 2%{?dist}
+Release: 3%{?dist}
License: GPL
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -21,6 +21,7 @@ Source2: %{name}-mk-autotools-patch.sh
# autotools patch created with source2
Patch0: %{name}-1.1.4-autotools.patch.bz2
Patch1: %{name}-1.1.4-optflags.patch
+Patch2: %{name}-1.1.4-CVE-2007-1246.patch
Patch3: %{name}-1.1.3-legacy-flac-init.patch
Patch6: %{name}-1.1.1-deepbind-939.patch
Patch7: %{name}-1.1.1-multilib-devel.patch
@@ -101,6 +102,7 @@ This package contains extra plugins for xine-lib:
touch -r configure.ac aclocal.m4
touch -r m4/optimizations.m4 m4/optimizations.m4.stamp
%patch1 -p1 -b .optflags
+%patch2 -p1 -b .CVE-2007-1246
touch -r m4/optimizations.m4.stamp m4/optimizations.m4
%patch3 -p0 -b .legacy-flac-init
# Patch6 needed at least when compiling with external ffmpeg, #939.
@@ -284,6 +286,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Sat Mar 10 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.4-3
+- Apply upstream fix for CVE-2007-1246.
+
* Wed Feb 14 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.4-2
- Rebuild.
commit df97efc8ef983be6c55dda3af9026abdfc36ce12
Author: Ville Skyttä <scop(a)fedoraproject.org>
Date: Wed Feb 14 18:44:03 2007 +0000
* Wed Feb 14 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.4-2
- Rebuild.
diff --git a/xine-lib.spec b/xine-lib.spec
index b902952..54db4dc 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -8,7 +8,7 @@
Summary: Xine library
Name: xine-lib
Version: 1.1.4
-Release: 1%{?dist}
+Release: 2%{?dist}
License: GPL
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -284,6 +284,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Wed Feb 14 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.4-2
+- Rebuild.
+
* Wed Jan 31 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.4-1
- 1.1.4, with wavpack and system libmpcdec support.
commit 293dad2c1bba195b7b1c15a78eec244cd1798977
Author: Ville Skyttä <scop(a)fedoraproject.org>
Date: Wed Jan 31 19:58:30 2007 +0000
* Wed Jan 31 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.4-1
- 1.1.4, with wavpack and system libmpcdec support.
diff --git a/.cvsignore b/.cvsignore
index c99b3db..aea6ec7 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -1,2 +1,2 @@
-xine-lib-1.1.3-pruned.tar.bz2
-xine-lib-1.1.3-autotools.patch.bz2
+xine-lib-1.1.4-pruned.tar.bz2
+xine-lib-1.1.4-autotools.patch.bz2
diff --git a/sources b/sources
index 3bdc00e..2a4625c 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-eff682745f198e1881773509f12c70c3 xine-lib-1.1.3-pruned.tar.bz2
-a58fce450d9288224caa413ad8bc1f8d xine-lib-1.1.3-autotools.patch.bz2
+81faabf1e38abed44639dbe4c76719f9 xine-lib-1.1.4-pruned.tar.bz2
+a916758545ed73a369f40648c7bc449c xine-lib-1.1.4-autotools.patch.bz2
diff --git a/xine-lib-1.1.3-flac113.patch b/xine-lib-1.1.3-flac113.patch
deleted file mode 100644
index f698b90..0000000
--- a/xine-lib-1.1.3-flac113.patch
+++ /dev/null
@@ -1,149 +0,0 @@
-Index: xine-lib/src/libflac/decoder_flac.c
-diff -u xine-lib/src/libflac/decoder_flac.c:1.21 xine-lib/src/libflac/decoder_flac.c:1.22
---- xine-lib/src/libflac/decoder_flac.c:1.21 Sat Aug 5 13:34:42 2006
-+++ xine-lib/src/libflac/decoder_flac.c Mon Dec 25 19:22:00 2006
-@@ -30,6 +30,13 @@
-
- #include <FLAC/stream_decoder.h>
-
-+#if !defined FLAC_API_VERSION_CURRENT || FLAC_API_VERSION_CURRENT < 8
-+#include <FLAC/seekable_stream_decoder.h>
-+#define LEGACY_FLAC
-+#else
-+#undef LEGACY_FLAC
-+#endif
-+
- #define LOG_MODULE "flac_decoder"
- #define LOG_VERBOSE
-
-@@ -344,6 +351,7 @@
-
- this->flac_decoder = FLAC__stream_decoder_new();
-
-+#ifdef LEGACY_FLAC
- FLAC__stream_decoder_set_read_callback (this->flac_decoder,
- flac_read_callback);
- FLAC__stream_decoder_set_write_callback (this->flac_decoder,
-@@ -359,6 +367,22 @@
- free (this);
- return NULL;
- }
-+#else
-+ if ( FLAC__stream_decoder_init_stream (this->flac_decoder,
-+ flac_read_callback,
-+ NULL, /* seek */
-+ NULL, /* tell */
-+ NULL, /* length */
-+ NULL, /* eof */
-+ flac_write_callback,
-+ NULL, /* metadata */
-+ flac_error_callback,
-+ this
-+ ) != FLAC__STREAM_DECODER_INIT_STATUS_OK ) {
-+ free (this);
-+ return NULL;
-+ }
-+#endif
-
- return (audio_decoder_t *) this;
- }
-Index: xine-lib/src/libflac/demux_flac.c
-diff -u xine-lib/src/libflac/demux_flac.c:1.24 xine-lib/src/libflac/demux_flac.c:1.25
---- xine-lib/src/libflac/demux_flac.c:1.24 Sat Oct 21 18:50:41 2006
-+++ xine-lib/src/libflac/demux_flac.c Mon Dec 25 19:22:00 2006
-@@ -441,7 +441,11 @@
- lprintf("demux_flac_dispose\n");
-
- if (this->flac_decoder)
-+#ifdef LEGACY_FLAC
- FLAC__seekable_stream_decoder_delete (this->flac_decoder);
-+#else
-+ FLAC__stream_decoder_delete (this->flac_decoder);
-+#endif
-
- free(this);
- return;
-@@ -494,8 +498,13 @@
- }
- target_sample = (uint64_t)(distance * this->total_samples);
-
-+#ifdef LEGACY_FLAC
- s = FLAC__seekable_stream_decoder_seek_absolute (this->flac_decoder,
- target_sample);
-+#else
-+ s = FLAC__stream_decoder_seek_absolute (this->flac_decoder,
-+ target_sample);
-+#endif
-
- if (s) {
- lprintf ("Seek to: %d successfull!\n", start_time);
-@@ -618,9 +627,6 @@
- /* Get a new FLAC decoder and hook up callbacks */
- #ifdef LEGACY_FLAC
- this->flac_decoder = FLAC__seekable_stream_decoder_new();
--#else
-- this->flac_decoder = FLAC__stream_decoder_new();
--#endif
- lprintf("this->flac_decoder: %p\n", this->flac_decoder);
-
- FLAC__seekable_stream_decoder_set_md5_checking (this->flac_decoder, false);
-@@ -644,6 +650,37 @@
- this);
-
- FLAC__seekable_stream_decoder_init (this->flac_decoder);
-+#else
-+ this->flac_decoder = FLAC__stream_decoder_new();
-+ lprintf("this->flac_decoder: %p\n", this->flac_decoder);
-+
-+ if ( ! this->flac_decoder ) {
-+ free(this);
-+ return NULL;
-+ }
-+
-+ FLAC__stream_decoder_set_md5_checking (this->flac_decoder, false);
-+
-+ if ( FLAC__stream_decoder_init_stream(this->flac_decoder,
-+ flac_read_callback,
-+ flac_seek_callback,
-+ flac_tell_callback,
-+ flac_length_callback,
-+ flac_eof_callback,
-+ flac_write_callback,
-+ flac_metadata_callback,
-+ flac_error_callback,
-+ this
-+ ) != FLAC__STREAM_DECODER_INIT_STATUS_OK ) {
-+#ifdef LEGACY_FLAC
-+ FLAC__seekable_stream_decoder_delete (this->flac_decoder);
-+#else
-+ FLAC__stream_decoder_delete (this->flac_decoder);
-+#endif
-+ free(this);
-+ return NULL;
-+ }
-+#endif
-
- /* Get some stream info */
- this->data_size = this->input->get_length (this->input);
-@@ -653,13 +690,21 @@
- * this flac stream
- */
- this->status = DEMUX_OK;
-+#ifdef LEGACY_FLAC
- FLAC__seekable_stream_decoder_process_until_end_of_metadata (this->flac_decoder);
-+#else
-+ FLAC__stream_decoder_process_until_end_of_metadata (this->flac_decoder);
-+#endif
-
- lprintf("Processed file until end of metadata: %s\n",
- this->status == DEMUX_OK ? "success" : "failure");
-
- if (this->status != DEMUX_OK) {
-+#ifdef LEGACY_FLAC
- FLAC__seekable_stream_decoder_delete (this->flac_decoder);
-+#else
-+ FLAC__stream_decoder_delete (this->flac_decoder);
-+#endif
- free (this);
- return NULL;
- }
diff --git a/xine-lib-1.1.3-optflags.patch b/xine-lib-1.1.4-optflags.patch
similarity index 61%
rename from xine-lib-1.1.3-optflags.patch
rename to xine-lib-1.1.4-optflags.patch
index 8413f5a..a76864a 100644
--- a/xine-lib-1.1.3-optflags.patch
+++ b/xine-lib-1.1.4-optflags.patch
@@ -1,5 +1,5 @@
---- xine-lib-1.1.3/m4/optimizations.m4~ 2006-06-17 18:20:56.000000000 +0300
-+++ xine-lib-1.1.3/m4/optimizations.m4 2006-12-17 11:49:44.000000000 +0200
+--- xine-lib-1.1.4/m4/optimizations.m4~ 2006-06-17 18:20:56.000000000 +0300
++++ xine-lib-1.1.4/m4/optimizations.m4 2007-01-30 23:03:27.000000000 +0200
@@ -107,7 +107,7 @@
DEBUG_CFLAGS="-O $DEBUG_CFLAGS"
@@ -9,9 +9,9 @@
archopt_val=
case "$host_or_hostalias" in
---- xine-lib-1.1.3/configure~ 2006-12-03 21:41:27.000000000 +0200
-+++ xine-lib-1.1.3/configure 2006-12-17 11:50:07.000000000 +0200
-@@ -46971,7 +46971,7 @@
+--- xine-lib-1.1.4/configure~ 2007-01-30 23:02:56.000000000 +0200
++++ xine-lib-1.1.4/configure 2007-01-30 23:03:40.000000000 +0200
+@@ -47754,7 +47754,7 @@
DEBUG_CFLAGS="-O $DEBUG_CFLAGS"
diff --git a/xine-lib-mk-autotools-patch.sh b/xine-lib-mk-autotools-patch.sh
new file mode 100644
index 0000000..88db99c
--- /dev/null
+++ b/xine-lib-mk-autotools-patch.sh
@@ -0,0 +1,24 @@
+#!/bin/sh
+
+# be sure to have all build deps + libtool installed before running this
+
+set -e
+
+if [ -z "$1" -o $# -ne 1 ]; then
+ echo "Usage: $0 <xine-lib-version>"
+ exit 2
+fi
+
+version=$1
+
+rm -rf xine-lib-$version xine-lib-$version-pruned
+tar jxf xine-lib-$version-pruned.tar.bz2
+cp -a xine-lib-$version xine-lib-$version-pruned
+
+cd xine-lib-$version
+./autogen.sh noconfig
+rm -rf autom4te.cache *~
+cd ..
+
+diff -Nru xine-lib-$version-pruned xine-lib-$version \
+| bzip2 --best > xine-lib-$version-autotools.patch.bz2
diff --git a/xine-lib.spec b/xine-lib.spec
index efff6c3..b902952 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -1,29 +1,26 @@
# TODO, sometime, maybe:
# - libstk: http://www.libstk.net/
# - pulseaudio
+# - --enable-antialiasing?
%define codecdir %{_libdir}/codecs
Summary: Xine library
Name: xine-lib
-Version: 1.1.3
-Release: 4%{?dist}
+Version: 1.1.4
+Release: 1%{?dist}
License: GPL
Group: System Environment/Libraries
URL: http://xinehq.de/
# The tarball is generated from the upstream tarball using
# the script in SOURCE1. It prunes potentially patented code
-#Source0: http://dl.sourceforge.net/xine/xine-lib-%{version}.tar.gz
+#Source0: http://dl.sourceforge.net/xine/xine-lib-%{version}.tar.bz2
Source0: %{name}-%{version}-pruned.tar.bz2
Source1: %{name}-cleanup-sources.sh
-# To recreate the autotools patch: install build deps, extract source0,
-# remove run_configure "$@" from autogen.sh, copy the dir to -patched,
-# run autogen.sh (doesn't work with automake 1.10 as of 1.1.3 so use 1.9),
-# remove autom4te.cache, then diff the dirs. Apply rest of the patches during
-# build so that autotools do not need to be run again.
-Patch0: %{name}-1.1.3-autotools.patch.bz2
-Patch1: %{name}-1.1.3-optflags.patch
-Patch2: %{name}-1.1.3-flac113.patch
+Source2: %{name}-mk-autotools-patch.sh
+# autotools patch created with source2
+Patch0: %{name}-1.1.4-autotools.patch.bz2
+Patch1: %{name}-1.1.4-optflags.patch
Patch3: %{name}-1.1.3-legacy-flac-init.patch
Patch6: %{name}-1.1.1-deepbind-939.patch
Patch7: %{name}-1.1.1-multilib-devel.patch
@@ -45,7 +42,7 @@ BuildRequires: ImageMagick-devel >= 6.2.4.6-1
# Audio
BuildRequires: libogg-devel libvorbis-devel flac-devel libmodplug-devel
BuildRequires: esound-devel speex-devel arts-devel alsa-lib-devel >= 0.9.0
-BuildRequires: jack-audio-connection-kit-devel
+BuildRequires: jack-audio-connection-kit-devel wavpack-devel libmpcdec-devel
# CDs
BuildRequires: libcdio-devel
# Other
@@ -101,10 +98,10 @@ This package contains extra plugins for xine-lib:
%prep
%setup -q
%patch0 -p1 -b .autotools
-cp -p m4/optimizations.m4 m4/optimizations.m4.stamp
+touch -r configure.ac aclocal.m4
+touch -r m4/optimizations.m4 m4/optimizations.m4.stamp
%patch1 -p1 -b .optflags
touch -r m4/optimizations.m4.stamp m4/optimizations.m4
-%patch2 -p1 -b .flac113
%patch3 -p0 -b .legacy-flac-init
# Patch6 needed at least when compiling with external ffmpeg, #939.
%patch6 -p1 -b .deepbind
@@ -124,6 +121,9 @@ export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)"
--with-xv-path=%{_libdir} \
--with-w32-path=%{codecdir} \
--with-external-ffmpeg \
+ --with-external-libmpcdec \
+ --with-libflac \
+ --with-wavpack \
--enable-ipv6 \
%if 0%{!?_without_directfb:1}
--enable-directfb \
@@ -149,8 +149,8 @@ make %{?_smp_mflags}
rm -rf $RPM_BUILD_ROOT __docs
make install DESTDIR=$RPM_BUILD_ROOT
%find_lang libxine1
-cp -pR $RPM_BUILD_ROOT%{_docdir}/xine __docs
-rm -rf $RPM_BUILD_ROOT%{_docdir}/xine
+cp -pR $RPM_BUILD_ROOT%{_docdir}/xine-lib __docs
+rm -rf $RPM_BUILD_ROOT%{_docdir}/xine-lib
# Removing useless files
rm -Rf $RPM_BUILD_ROOT%{_libdir}/libxine.la __docs/README \
@@ -166,12 +166,14 @@ rm -rf $RPM_BUILD_ROOT
%post -p /sbin/ldconfig
+
%postun -p /sbin/ldconfig
%files -f libxine1.lang
%defattr(-,root,root,-)
-%doc AUTHORS COPYING CREDITS ChangeLog* README TODO __docs/README.* __docs/faq
+%doc AUTHORS COPYING CREDITS ChangeLog* README TODO
+%doc __docs/README.* __docs/faq.*
%dir %{codecdir}
%{_datadir}/xine
%{_libdir}/libxine.so.*
@@ -213,6 +215,7 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{version}/xineplug_decode_theora.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_spudvb.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_mpc.so
+%{_libdir}/xine/plugins/%{version}/xineplug_decode_sputext.so
%{_libdir}/xine/plugins/%{version}/xineplug_dmx_yuv_frames.so
%{_libdir}/xine/plugins/%{version}/xineplug_dmx_real.so
%{_libdir}/xine/plugins/%{version}/xineplug_dmx_audio.so
@@ -232,7 +235,7 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{version}/xineplug_dmx_games.so
%{_libdir}/xine/plugins/%{version}/xineplug_dmx_slave.so
%{_libdir}/xine/plugins/%{version}/xineplug_flac.so
-%{_libdir}/xine/plugins/%{version}/xineplug_decode_sputext.so
+%{_libdir}/xine/plugins/%{version}/xineplug_wavpack.so
%ifarch %ix86
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_vidix.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_qt.so
@@ -281,6 +284,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Wed Jan 31 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.4-1
+- 1.1.4, with wavpack and system libmpcdec support.
+
* Thu Jan 18 2007 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.3-4
- rebuild
commit b42ce18b7a893d10899db1a647d517107e9ff916
Author: Aurelien Bompard <abompard(a)fedoraproject.org>
Date: Thu Jan 18 20:34:56 2007 +0000
rebuild
diff --git a/xine-lib.spec b/xine-lib.spec
index 8477e9b..efff6c3 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -7,7 +7,7 @@
Summary: Xine library
Name: xine-lib
Version: 1.1.3
-Release: 3%{?dist}
+Release: 4%{?dist}
License: GPL
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -281,6 +281,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Thu Jan 18 2007 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.3-4
+- rebuild
+
* Wed Jan 3 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.3-3
- Fix libflac decoder with FLAC < 1.1.3 (#220961).
- Apply upstream patch for FLAC >= 1.1.3.
commit b2b1cd2002e8a2eb5873157cd94ff53933f26725
Author: Ville Skyttä <scop(a)fedoraproject.org>
Date: Wed Jan 3 20:27:13 2007 +0000
* Wed Jan 3 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.3-3
- Fix libflac decoder with FLAC < 1.1.3 (#220961).
- Apply upstream patch for FLAC >= 1.1.3.
diff --git a/xine-lib-1.1.3-flac113.patch b/xine-lib-1.1.3-flac113.patch
new file mode 100644
index 0000000..f698b90
--- /dev/null
+++ b/xine-lib-1.1.3-flac113.patch
@@ -0,0 +1,149 @@
+Index: xine-lib/src/libflac/decoder_flac.c
+diff -u xine-lib/src/libflac/decoder_flac.c:1.21 xine-lib/src/libflac/decoder_flac.c:1.22
+--- xine-lib/src/libflac/decoder_flac.c:1.21 Sat Aug 5 13:34:42 2006
++++ xine-lib/src/libflac/decoder_flac.c Mon Dec 25 19:22:00 2006
+@@ -30,6 +30,13 @@
+
+ #include <FLAC/stream_decoder.h>
+
++#if !defined FLAC_API_VERSION_CURRENT || FLAC_API_VERSION_CURRENT < 8
++#include <FLAC/seekable_stream_decoder.h>
++#define LEGACY_FLAC
++#else
++#undef LEGACY_FLAC
++#endif
++
+ #define LOG_MODULE "flac_decoder"
+ #define LOG_VERBOSE
+
+@@ -344,6 +351,7 @@
+
+ this->flac_decoder = FLAC__stream_decoder_new();
+
++#ifdef LEGACY_FLAC
+ FLAC__stream_decoder_set_read_callback (this->flac_decoder,
+ flac_read_callback);
+ FLAC__stream_decoder_set_write_callback (this->flac_decoder,
+@@ -359,6 +367,22 @@
+ free (this);
+ return NULL;
+ }
++#else
++ if ( FLAC__stream_decoder_init_stream (this->flac_decoder,
++ flac_read_callback,
++ NULL, /* seek */
++ NULL, /* tell */
++ NULL, /* length */
++ NULL, /* eof */
++ flac_write_callback,
++ NULL, /* metadata */
++ flac_error_callback,
++ this
++ ) != FLAC__STREAM_DECODER_INIT_STATUS_OK ) {
++ free (this);
++ return NULL;
++ }
++#endif
+
+ return (audio_decoder_t *) this;
+ }
+Index: xine-lib/src/libflac/demux_flac.c
+diff -u xine-lib/src/libflac/demux_flac.c:1.24 xine-lib/src/libflac/demux_flac.c:1.25
+--- xine-lib/src/libflac/demux_flac.c:1.24 Sat Oct 21 18:50:41 2006
++++ xine-lib/src/libflac/demux_flac.c Mon Dec 25 19:22:00 2006
+@@ -441,7 +441,11 @@
+ lprintf("demux_flac_dispose\n");
+
+ if (this->flac_decoder)
++#ifdef LEGACY_FLAC
+ FLAC__seekable_stream_decoder_delete (this->flac_decoder);
++#else
++ FLAC__stream_decoder_delete (this->flac_decoder);
++#endif
+
+ free(this);
+ return;
+@@ -494,8 +498,13 @@
+ }
+ target_sample = (uint64_t)(distance * this->total_samples);
+
++#ifdef LEGACY_FLAC
+ s = FLAC__seekable_stream_decoder_seek_absolute (this->flac_decoder,
+ target_sample);
++#else
++ s = FLAC__stream_decoder_seek_absolute (this->flac_decoder,
++ target_sample);
++#endif
+
+ if (s) {
+ lprintf ("Seek to: %d successfull!\n", start_time);
+@@ -618,9 +627,6 @@
+ /* Get a new FLAC decoder and hook up callbacks */
+ #ifdef LEGACY_FLAC
+ this->flac_decoder = FLAC__seekable_stream_decoder_new();
+-#else
+- this->flac_decoder = FLAC__stream_decoder_new();
+-#endif
+ lprintf("this->flac_decoder: %p\n", this->flac_decoder);
+
+ FLAC__seekable_stream_decoder_set_md5_checking (this->flac_decoder, false);
+@@ -644,6 +650,37 @@
+ this);
+
+ FLAC__seekable_stream_decoder_init (this->flac_decoder);
++#else
++ this->flac_decoder = FLAC__stream_decoder_new();
++ lprintf("this->flac_decoder: %p\n", this->flac_decoder);
++
++ if ( ! this->flac_decoder ) {
++ free(this);
++ return NULL;
++ }
++
++ FLAC__stream_decoder_set_md5_checking (this->flac_decoder, false);
++
++ if ( FLAC__stream_decoder_init_stream(this->flac_decoder,
++ flac_read_callback,
++ flac_seek_callback,
++ flac_tell_callback,
++ flac_length_callback,
++ flac_eof_callback,
++ flac_write_callback,
++ flac_metadata_callback,
++ flac_error_callback,
++ this
++ ) != FLAC__STREAM_DECODER_INIT_STATUS_OK ) {
++#ifdef LEGACY_FLAC
++ FLAC__seekable_stream_decoder_delete (this->flac_decoder);
++#else
++ FLAC__stream_decoder_delete (this->flac_decoder);
++#endif
++ free(this);
++ return NULL;
++ }
++#endif
+
+ /* Get some stream info */
+ this->data_size = this->input->get_length (this->input);
+@@ -653,13 +690,21 @@
+ * this flac stream
+ */
+ this->status = DEMUX_OK;
++#ifdef LEGACY_FLAC
+ FLAC__seekable_stream_decoder_process_until_end_of_metadata (this->flac_decoder);
++#else
++ FLAC__stream_decoder_process_until_end_of_metadata (this->flac_decoder);
++#endif
+
+ lprintf("Processed file until end of metadata: %s\n",
+ this->status == DEMUX_OK ? "success" : "failure");
+
+ if (this->status != DEMUX_OK) {
++#ifdef LEGACY_FLAC
+ FLAC__seekable_stream_decoder_delete (this->flac_decoder);
++#else
++ FLAC__stream_decoder_delete (this->flac_decoder);
++#endif
+ free (this);
+ return NULL;
+ }
diff --git a/xine-lib-1.1.3-legacy-flac-init.patch b/xine-lib-1.1.3-legacy-flac-init.patch
new file mode 100644
index 0000000..ba1cdb7
--- /dev/null
+++ b/xine-lib-1.1.3-legacy-flac-init.patch
@@ -0,0 +1,16 @@
+Index: src/libflac/decoder_flac.c
+===================================================================
+RCS file: /cvsroot/xine/xine-lib/src/libflac/decoder_flac.c,v
+retrieving revision 1.22
+diff -u -r1.22 decoder_flac.c
+--- src/libflac/decoder_flac.c 25 Dec 2006 19:22:00 -0000 1.22
++++ src/libflac/decoder_flac.c 3 Jan 2007 19:58:07 -0000
+@@ -363,7 +363,7 @@
+
+ FLAC__stream_decoder_set_client_data (this->flac_decoder, this);
+
+- if (FLAC__stream_decoder_init (this->flac_decoder) == FLAC__STREAM_DECODER_SEARCH_FOR_METADATA) {
++ if (FLAC__stream_decoder_init (this->flac_decoder) != FLAC__STREAM_DECODER_SEARCH_FOR_METADATA) {
+ free (this);
+ return NULL;
+ }
diff --git a/xine-lib.spec b/xine-lib.spec
index f317955..8477e9b 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -7,7 +7,7 @@
Summary: Xine library
Name: xine-lib
Version: 1.1.3
-Release: 2%{?dist}
+Release: 3%{?dist}
License: GPL
Group: System Environment/Libraries
URL: http://xinehq.de/
@@ -23,6 +23,8 @@ Source1: %{name}-cleanup-sources.sh
# build so that autotools do not need to be run again.
Patch0: %{name}-1.1.3-autotools.patch.bz2
Patch1: %{name}-1.1.3-optflags.patch
+Patch2: %{name}-1.1.3-flac113.patch
+Patch3: %{name}-1.1.3-legacy-flac-init.patch
Patch6: %{name}-1.1.1-deepbind-939.patch
Patch7: %{name}-1.1.1-multilib-devel.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@@ -102,6 +104,8 @@ This package contains extra plugins for xine-lib:
cp -p m4/optimizations.m4 m4/optimizations.m4.stamp
%patch1 -p1 -b .optflags
touch -r m4/optimizations.m4.stamp m4/optimizations.m4
+%patch2 -p1 -b .flac113
+%patch3 -p0 -b .legacy-flac-init
# Patch6 needed at least when compiling with external ffmpeg, #939.
%patch6 -p1 -b .deepbind
%patch7 -p0 -b .multilib-devel
@@ -277,6 +281,10 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Wed Jan 3 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.3-3
+- Fix libflac decoder with FLAC < 1.1.3 (#220961).
+- Apply upstream patch for FLAC >= 1.1.3.
+
* Sun Dec 17 2006 Ville Skyttä <ville.skytta at iki.fi> - 1.1.3-2
- Don't run autotools during build.
commit 4a03c988500b200d9a0da51db87a3597b521bf8f
Author: Ville Skyttä <scop(a)fedoraproject.org>
Date: Sun Dec 17 11:41:11 2006 +0000
* Sun Dec 17 2006 Ville Skyttä <ville.skytta at iki.fi> - 1.1.3-2
- Don't run autotools during build.
diff --git a/.cvsignore b/.cvsignore
index 58ed34c..c99b3db 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -1 +1,2 @@
xine-lib-1.1.3-pruned.tar.bz2
+xine-lib-1.1.3-autotools.patch.bz2
diff --git a/sources b/sources
index d2f7c97..3bdc00e 100644
--- a/sources
+++ b/sources
@@ -1 +1,2 @@
eff682745f198e1881773509f12c70c3 xine-lib-1.1.3-pruned.tar.bz2
+a58fce450d9288224caa413ad8bc1f8d xine-lib-1.1.3-autotools.patch.bz2
diff --git a/xine-lib-1.1.1-configure-no-mcpu-march.patch b/xine-lib-1.1.1-configure-no-mcpu-march.patch
deleted file mode 100644
index 4b6ba9e..0000000
--- a/xine-lib-1.1.1-configure-no-mcpu-march.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- m4/optimizations.m4.orig 2005-11-27 01:20:08.000000000 +0100
-+++ m4/optimizations.m4 2005-11-27 01:22:56.000000000 +0100
-@@ -161,10 +161,6 @@
- ;;
-
- esac
-- if test x"$archopt_val" != x; then
-- CFLAGS="$sarchopt=$archopt_val $CFLAGS"
-- DEBUG_CFLAGS="$sarchopt=$archopt_val $DEBUG_CFLAGS"
-- fi
- fi
- else
- dnl we have the Intel compiler
diff --git a/xine-lib-1.1.3-optflags.patch b/xine-lib-1.1.3-optflags.patch
new file mode 100644
index 0000000..8413f5a
--- /dev/null
+++ b/xine-lib-1.1.3-optflags.patch
@@ -0,0 +1,22 @@
+--- xine-lib-1.1.3/m4/optimizations.m4~ 2006-06-17 18:20:56.000000000 +0300
++++ xine-lib-1.1.3/m4/optimizations.m4 2006-12-17 11:49:44.000000000 +0200
+@@ -107,7 +107,7 @@
+
+ DEBUG_CFLAGS="-O $DEBUG_CFLAGS"
+
+- if test x"$sarchopt" != "xno"; then
++ if false ; then
+ archopt_val=
+
+ case "$host_or_hostalias" in
+--- xine-lib-1.1.3/configure~ 2006-12-03 21:41:27.000000000 +0200
++++ xine-lib-1.1.3/configure 2006-12-17 11:50:07.000000000 +0200
+@@ -46971,7 +46971,7 @@
+
+ DEBUG_CFLAGS="-O $DEBUG_CFLAGS"
+
+- if test x"$sarchopt" != "xno"; then
++ if false ; then
+ archopt_val=
+
+ case "$host_or_hostalias" in
diff --git a/xine-lib.spec b/xine-lib.spec
index 4f9da0e..f317955 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -7,19 +7,25 @@
Summary: Xine library
Name: xine-lib
Version: 1.1.3
-Release: 1%{?dist}
+Release: 2%{?dist}
License: GPL
Group: System Environment/Libraries
URL: http://xinehq.de/
# The tarball is generated from the upstream tarball using
# the script in SOURCE1. It prunes potentially patented code
#Source0: http://dl.sourceforge.net/xine/xine-lib-%{version}.tar.gz
-Source0: xine-lib-%{version}-pruned.tar.bz2
-Source1: xine-lib-cleanup-sources.sh
-Patch1: xine-lib-1.1.1-configure-no-mcpu-march.patch
-Patch6: xine-lib-1.1.1-deepbind-939.patch
-Patch7: xine-lib-1.1.1-multilib-devel.patch
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
+Source0: %{name}-%{version}-pruned.tar.bz2
+Source1: %{name}-cleanup-sources.sh
+# To recreate the autotools patch: install build deps, extract source0,
+# remove run_configure "$@" from autogen.sh, copy the dir to -patched,
+# run autogen.sh (doesn't work with automake 1.10 as of 1.1.3 so use 1.9),
+# remove autom4te.cache, then diff the dirs. Apply rest of the patches during
+# build so that autotools do not need to be run again.
+Patch0: %{name}-1.1.3-autotools.patch.bz2
+Patch1: %{name}-1.1.3-optflags.patch
+Patch6: %{name}-1.1.1-deepbind-939.patch
+Patch7: %{name}-1.1.1-multilib-devel.patch
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
# X11
BuildRequires: libX11-devel libXv-devel libXinerama-devel libXvMC-devel libGLU-devel
# Video
@@ -41,8 +47,7 @@ BuildRequires: jack-audio-connection-kit-devel
# CDs
BuildRequires: libcdio-devel
# Other
-BuildRequires: pkgconfig gnome-vfs2-devel gtk2-devel
-BuildRequires: libtool >= 1.4.0 /usr/bin/automake-1.9 samba-common
+BuildRequires: pkgconfig gnome-vfs2-devel gtk2-devel samba-common
%package devel
Summary: Xine library development files
@@ -93,19 +98,16 @@ This package contains extra plugins for xine-lib:
%prep
%setup -q
-%patch1 -p0 -b .nomcpu
+%patch0 -p1 -b .autotools
+cp -p m4/optimizations.m4 m4/optimizations.m4.stamp
+%patch1 -p1 -b .optflags
+touch -r m4/optimizations.m4.stamp m4/optimizations.m4
# Patch6 needed at least when compiling with external ffmpeg, #939.
%patch6 -p1 -b .deepbind
%patch7 -p0 -b .multilib-devel
find . -name "*.[hc]" | xargs chmod -c -x
-aclocal-1.9 -I m4
-libtoolize --force
-autoheader
-automake-1.9 --gnu --add-missing
-autoconf
-
# Avoid standard rpaths on lib64 archs:
sed -i -e 's|"/lib /usr/lib\b|"/%{_lib} %{_libdir}|' configure
@@ -275,6 +277,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Sun Dec 17 2006 Ville Skyttä <ville.skytta at iki.fi> - 1.1.3-2
+- Don't run autotools during build.
+
* Mon Dec 04 2006 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.3-1
- version 1.1.3
- patch2 applied upstream
commit 657fde1f026299ea7efbdd308b9a71c08065d842
Author: Ville Skyttä <scop(a)fedoraproject.org>
Date: Sat Dec 9 16:08:08 2006 +0000
Update -extras description.
diff --git a/xine-lib.spec b/xine-lib.spec
index 82de8f5..4f9da0e 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -74,7 +74,9 @@ This package contains extra plugins for xine-lib:
- aRts
- EsounD
- JACK
+ - GDK-Pixbuf
- GNOME VFS
+ - SMB
- SDL
- AA-lib
%if 0%{?_with_caca:1}
@@ -280,7 +282,6 @@ rm -rf $RPM_BUILD_ROOT
- Split extras plugins in a separate package
- Enable JACK support (in extras subpackage)
- Enable DirectFB support (in extras subpackage)
-- Move SMB and GDK-Pixbuf plugins into the extras subpackage
* Sat Nov 11 2006 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.2-18
- Make shn files available to amarok. References:
commit 05ae5ea126069d4490757bb5ed69a186d5d51c7b
Author: Aurelien Bompard <abompard(a)fedoraproject.org>
Date: Sat Dec 9 15:36:50 2006 +0000
Move SMB and GDK-Pixbuf plugins into the extras subpackage
diff --git a/xine-lib.spec b/xine-lib.spec
index de1ac9a..82de8f5 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -190,7 +190,6 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{version}/xineplug_inp_net.so
%{_libdir}/xine/plugins/%{version}/xineplug_inp_pnm.so
%{_libdir}/xine/plugins/%{version}/xineplug_inp_cdda.so
-%{_libdir}/xine/plugins/%{version}/xineplug_inp_smb.so
%{_libdir}/xine/plugins/%{version}/xineplug_inp_stdin_fifo.so
%{_libdir}/xine/plugins/%{version}/xineplug_inp_rtsp.so
%{_libdir}/xine/plugins/%{version}/xineplug_inp_pvr.so
@@ -226,7 +225,6 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{version}/xineplug_dmx_slave.so
%{_libdir}/xine/plugins/%{version}/xineplug_flac.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_sputext.so
-%{_libdir}/xine/plugins/%{version}/xineplug_decode_gdk_pixbuf.so
%ifarch %ix86
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_vidix.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_qt.so
@@ -246,8 +244,10 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_esd.so
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_jack.so
%{_libdir}/xine/plugins/%{version}/xineplug_inp_gnome_vfs.so
+%{_libdir}/xine/plugins/%{version}/xineplug_inp_smb.so
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_sdl.so
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_aa.so
+%{_libdir}/xine/plugins/%{version}/xineplug_decode_gdk_pixbuf.so
%if 0%{?_with_caca:1}
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_caca.so
%endif
@@ -280,6 +280,7 @@ rm -rf $RPM_BUILD_ROOT
- Split extras plugins in a separate package
- Enable JACK support (in extras subpackage)
- Enable DirectFB support (in extras subpackage)
+- Move SMB and GDK-Pixbuf plugins into the extras subpackage
* Sat Nov 11 2006 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.2-18
- Make shn files available to amarok. References:
commit 2fc26a813ef2224d22ec320384eea7042c035502
Author: Ville Skyttä <scop(a)fedoraproject.org>
Date: Fri Dec 8 18:28:34 2006 +0000
Add %defattr for extras subpackage, cosmetics.
diff --git a/xine-lib.spec b/xine-lib.spec
index c19b862..de1ac9a 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -3,7 +3,6 @@
# - pulseaudio
%define codecdir %{_libdir}/codecs
-#%define vdrver 0.7.9
Summary: Xine library
Name: xine-lib
@@ -26,6 +25,9 @@ BuildRequires: libX11-devel libXv-devel libXinerama-devel libXvMC-devel libGLU-
# Video
BuildRequires: freetype-devel SDL-devel libtheora-devel libmng-devel
BuildRequires: aalib-devel >= 1.4
+%if 0%{?_with_caca:1}
+BuildRequires: libcaca-devel >= 0.99
+%endif
%if 0%{!?_without_directfb:1}
BuildRequires: directfb-devel
%endif
@@ -36,24 +38,17 @@ BuildRequires: ImageMagick-devel >= 6.2.4.6-1
BuildRequires: libogg-devel libvorbis-devel flac-devel libmodplug-devel
BuildRequires: esound-devel speex-devel arts-devel alsa-lib-devel >= 0.9.0
BuildRequires: jack-audio-connection-kit-devel
-%if 0%{?_with_caca:1}
-BuildRequires: libcaca-devel >= 0.99
-%endif
# CDs
BuildRequires: libcdio-devel
# Other
BuildRequires: pkgconfig gnome-vfs2-devel gtk2-devel
BuildRequires: libtool >= 1.4.0 /usr/bin/automake-1.9 samba-common
-#Provides: %{name}(vdr) = %{vdrver}
-
%package devel
Summary: Xine library development files
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
Requires: pkgconfig zlib-devel
-#Requires: %{name}(vdr) = %{vdrver}
-#Provides: %{name}-devel(vdr) = %{vdrver}
%package extras
Summary: Additional plugins for xine-lib
@@ -76,17 +71,17 @@ This package contains development files for xine-lib.
%description extras
This package contains extra plugins for xine-lib:
- - Arts
- - ESD
- - Jack
+ - aRts
+ - EsounD
+ - JACK
- GNOME VFS
- SDL
- - AAlib
+ - AA-lib
%if 0%{?_with_caca:1}
- - CACAlib
+ - Libcaca
%endif
%if 0%{!?_without_imagemagick:1}
- - image decoding
+ - Image decoding
%endif
%if 0%{!?_without_directfb:1}
- DirectFB output
@@ -97,7 +92,6 @@ This package contains extra plugins for xine-lib:
%prep
%setup -q
%patch1 -p0 -b .nomcpu
-###cp -p debian/changelog ChangeLog.vdr
# Patch6 needed at least when compiling with external ffmpeg, #939.
%patch6 -p1 -b .deepbind
%patch7 -p0 -b .multilib-devel
@@ -201,7 +195,6 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{version}/xineplug_inp_rtsp.so
%{_libdir}/xine/plugins/%{version}/xineplug_inp_pvr.so
%{_libdir}/xine/plugins/%{version}/xineplug_inp_rtp.so
-#%{_libdir}/xine/plugins/%{version}/xineplug_inp_vdr.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_bitplane.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_rgb.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_vorbis.so
@@ -248,6 +241,7 @@ rm -rf $RPM_BUILD_ROOT
%files extras
+%defattr(-,root,root,-)
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_arts.so
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_esd.so
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_jack.so
commit e1e12d7c88dd438adbe1ceaf51bcca8eab816425
Author: Aurelien Bompard <abompard(a)fedoraproject.org>
Date: Fri Dec 8 07:31:46 2006 +0000
version 1.1.3
diff --git a/.cvsignore b/.cvsignore
index 7d987ff..58ed34c 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -1 +1 @@
-xine-lib-1.1.2.tar.bz2
+xine-lib-1.1.3-pruned.tar.bz2
diff --git a/sources b/sources
index b512d76..d2f7c97 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-d1afb34d2335f8c9ded4d9a2b741251e xine-lib-1.1.2.tar.bz2
+eff682745f198e1881773509f12c70c3 xine-lib-1.1.3-pruned.tar.bz2
diff --git a/xine-lib-cleanup-sources.sh b/xine-lib-cleanup-sources.sh
index dfa3ef4..97da5bd 100755
--- a/xine-lib-cleanup-sources.sh
+++ b/xine-lib-cleanup-sources.sh
@@ -6,8 +6,9 @@ if [ -z "$1" -o $# -ne 1 ]; then
fi
version=$1
-tarball="xine-lib-$version.tar.bz2"
+tarball="xine-lib-$version.tar.gz"
dir="xine-lib-$version"
+modtarball="xine-lib-$version-pruned.tar.bz2"
if [ ! -f $tarball ]; then
@@ -17,7 +18,7 @@ fi
echo "Uncompressing $tarball..."
rm -rf $dir
-tar -xjf $tarball
+tar -xzf $tarball
cd $dir
# Main libraries
@@ -58,8 +59,6 @@ sed -i -e 's/planar//g;s/deinterlace//g' src/post/Makefile.am # fails to build
# All clean !
cd ..
-echo "Generating $tarball..."
-rm -f $tarball.orig
-mv $tarball $tarball.orig
-tar -cjf $tarball $dir
+echo "Generating $modtarball..."
+tar -cjf $modtarball $dir
rm -rf $dir
diff --git a/xine-lib.spec b/xine-lib.spec
index faf767c..c19b862 100644
--- a/xine-lib.spec
+++ b/xine-lib.spec
@@ -1,20 +1,21 @@
# TODO, sometime, maybe:
# - libstk: http://www.libstk.net/
-# - polypaudio
+# - pulseaudio
%define codecdir %{_libdir}/codecs
#%define vdrver 0.7.9
Summary: Xine library
Name: xine-lib
-Version: 1.1.2
-Release: 17%{?dist}
+Version: 1.1.3
+Release: 1%{?dist}
License: GPL
Group: System Environment/Libraries
URL: http://xinehq.de/
# The tarball is generated from the upstream tarball using
# the script in SOURCE1. It prunes potentially patented code
-Source0: http://dl.sourceforge.net/xine/xine-lib-1.1.2.tar.bz2
+#Source0: http://dl.sourceforge.net/xine/xine-lib-%{version}.tar.gz
+Source0: xine-lib-%{version}-pruned.tar.bz2
Source1: xine-lib-cleanup-sources.sh
Patch1: xine-lib-1.1.1-configure-no-mcpu-march.patch
Patch6: xine-lib-1.1.1-deepbind-939.patch
@@ -24,22 +25,26 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
BuildRequires: libX11-devel libXv-devel libXinerama-devel libXvMC-devel libGLU-devel
# Video
BuildRequires: freetype-devel SDL-devel libtheora-devel libmng-devel
-BuildRequires: aalib-devel >= 1.4 libcaca-devel
+BuildRequires: aalib-devel >= 1.4
+%if 0%{!?_without_directfb:1}
+BuildRequires: directfb-devel
+%endif
+%if 0%{!?_without_imagemagick:1}
+BuildRequires: ImageMagick-devel >= 6.2.4.6-1
+%endif
# Audio
BuildRequires: libogg-devel libvorbis-devel flac-devel libmodplug-devel
BuildRequires: esound-devel speex-devel arts-devel alsa-lib-devel >= 0.9.0
+BuildRequires: jack-audio-connection-kit-devel
+%if 0%{?_with_caca:1}
+BuildRequires: libcaca-devel >= 0.99
+%endif
# CDs
BuildRequires: libcdio-devel
# Other
BuildRequires: pkgconfig gnome-vfs2-devel gtk2-devel
BuildRequires: libtool >= 1.4.0 /usr/bin/automake-1.9 samba-common
-%if 0%{?_with_directfb:1}
-BuildRequires: directfb-devel
-%endif
-%if 0%{!?_without_imagemagick:1}
-BuildRequires: ImageMagick-devel >= 6.2.4.6-1
-%endif
#Provides: %{name}(vdr) = %{vdrver}
%package devel
@@ -50,6 +55,11 @@ Requires: pkgconfig zlib-devel
#Requires: %{name}(vdr) = %{vdrver}
#Provides: %{name}-devel(vdr) = %{vdrver}
+%package extras
+Summary: Additional plugins for xine-lib
+Group: System Environment/Libraries
+Requires: %{name} = %{version}-%{release}
+
%description
This package contains the Xine library. Xine is a free multimedia player.
@@ -58,11 +68,31 @@ disk drives, and displays multimedia streamed over the Internet. It
interprets many of the most common multimedia formats available - and some
of the most uncommon formats, too. Non-default rpmbuild options:
--without imagemagick: Disable ImageMagick support
---with directfb: Enable DirectFB support
+--without directfb: Disable DirectFB support
+--with caca: Enable CACA support
%description devel
This package contains development files for xine-lib.
+%description extras
+This package contains extra plugins for xine-lib:
+ - Arts
+ - ESD
+ - Jack
+ - GNOME VFS
+ - SDL
+ - AAlib
+%if 0%{?_with_caca:1}
+ - CACAlib
+%endif
+%if 0%{!?_without_imagemagick:1}
+ - image decoding
+%endif
+%if 0%{!?_without_directfb:1}
+ - DirectFB output
+%endif
+
+
%prep
%setup -q
@@ -85,21 +115,24 @@ sed -i -e 's|"/lib /usr/lib\b|"/%{_lib} %{_libdir}|' configure
%build
-FFMPEG_CPPFLAGS=" "; FFMPEG_LIBS=" "; export FFMPEG_CPPFLAGS FFMPEG_LIBS
+export FFMPEG_CFLAGS=" " FFMPEG_LIBS=" "
+export FFMPEG_POSTPROC_CFLAGS=" " FFMPEG_POSTPROC_LIBS=" "
+export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)"
%configure --disable-dependency-tracking \
--with-xv-path=%{_libdir} \
--with-w32-path=%{codecdir} \
--with-external-ffmpeg \
--enable-ipv6 \
-%if 0%{?_with_directfb:1}
+%if 0%{!?_without_directfb:1}
--enable-directfb \
%endif
%if 0%{?_without_imagemagick:1}
- --disable-imagemagick \
+ --without-imagemagick \
+%endif
+%if 0%{!?_with_caca:1}
+ --without-caca \
%endif
- --disable-rte \
--disable-libfame \
- --disable-ffmpegtest \
--disable-faad \
--disable-mad \
--disable-asf \
@@ -146,7 +179,6 @@ rm -rf $RPM_BUILD_ROOT
%dir %{_libdir}/xine/plugins/%{version}/
# I list all the plugins because I don't want a non-free plugin
# to sneak into a future version
-# these plugins do not have legal problems according to the SuSE RPM
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_alsa.so
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_oss.so
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_none.so
@@ -154,6 +186,7 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_file.so
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_none.so
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_opengl.so
+%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_syncfb.so
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xshm.so
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xv.so
%{_libdir}/xine/plugins/%{version}/xineplug_inp_dvb.so
@@ -201,7 +234,6 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/xine/plugins/%{version}/xineplug_flac.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_sputext.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_gdk_pixbuf.so
-%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_caca.so
%ifarch %ix86
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_vidix.so
%{_libdir}/xine/plugins/%{version}/xineplug_decode_qt.so
@@ -213,13 +245,24 @@ rm -rf $RPM_BUILD_ROOT
%endif
%{_libdir}/xine/plugins/%{version}/post/
%{_libdir}/xine/plugins/%{version}/vidix/
-# Put it in a xine-lib-extras package one day ?
+
+
+%files extras
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_arts.so
%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_esd.so
+%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_jack.so
%{_libdir}/xine/plugins/%{version}/xineplug_inp_gnome_vfs.so
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_sdl.so
%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_aa.so
+%if 0%{?_with_caca:1}
+%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_caca.so
+%endif
+%if 0%{!?_without_imagemagick:1}
%{_libdir}/xine/plugins/%{version}/xineplug_decode_image.so
+%endif
+%if 0%{!?_without_directfb:1}
+%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_directfb.so
+%endif
%files devel
@@ -233,9 +276,22 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/pkgconfig/libxine.pc
%{_mandir}/man1/xine-config.1*
-# --------------------------------------------------------------------
+
%changelog
+* Mon Dec 04 2006 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.3-1
+- version 1.1.3
+- patch2 applied upstream
+- Disable CACA support by default, needs newer than what's in FE ATM.
+- Split extras plugins in a separate package
+- Enable JACK support (in extras subpackage)
+- Enable DirectFB support (in extras subpackage)
+
+* Sat Nov 11 2006 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.2-18
+- Make shn files available to amarok. References:
+ http://xine.cvs.sourceforge.net/xine/xine-lib/src/demuxers/demux_shn.c?r1...
+ https://launchpad.net/distros/ubuntu/+source/xine-lib/+bug/63130
+
* Wed Oct 18 2006 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.2-17
- cleanup docs
- remove mms
commit d41fcd6ff7d181bf589b84c9973e9819984fec0f
Author: Aurelien Bompard <abompard(a)fedoraproject.org>
Date: Mon Oct 30 18:32:55 2006 +0000
auto-import xine-lib-1.1.2-17 on branch devel from xine-lib-1.1.2-17.src.rpm
diff --git a/.cvsignore b/.cvsignore
index e69de29..7d987ff 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -0,0 +1 @@
+xine-lib-1.1.2.tar.bz2
diff --git a/sources b/sources
index e69de29..b512d76 100644
--- a/sources
+++ b/sources
@@ -0,0 +1 @@
+d1afb34d2335f8c9ded4d9a2b741251e xine-lib-1.1.2.tar.bz2
diff --git a/xine-lib-1.1.1-configure-no-mcpu-march.patch b/xine-lib-1.1.1-configure-no-mcpu-march.patch
new file mode 100644
index 0000000..4b6ba9e
--- /dev/null
+++ b/xine-lib-1.1.1-configure-no-mcpu-march.patch
@@ -0,0 +1,13 @@
+--- m4/optimizations.m4.orig 2005-11-27 01:20:08.000000000 +0100
++++ m4/optimizations.m4 2005-11-27 01:22:56.000000000 +0100
+@@ -161,10 +161,6 @@
+ ;;
+
+ esac
+- if test x"$archopt_val" != x; then
+- CFLAGS="$sarchopt=$archopt_val $CFLAGS"
+- DEBUG_CFLAGS="$sarchopt=$archopt_val $DEBUG_CFLAGS"
+- fi
+ fi
+ else
+ dnl we have the Intel compiler
diff --git a/xine-lib-1.1.1-deepbind-939.patch b/xine-lib-1.1.1-deepbind-939.patch
new file mode 100644
index 0000000..b04400b
--- /dev/null
+++ b/xine-lib-1.1.1-deepbind-939.patch
@@ -0,0 +1,20 @@
+--- xine-lib-1.1.1/src/xine-engine/load_plugins.c.~1~ 2005-09-19 09:14:02.000000000 -0700
++++ xine-lib-1.1.1/src/xine-engine/load_plugins.c 2006-04-22 23:07:33.000000000 -0700
+@@ -591,7 +591,7 @@ static void collect_plugins(xine_t *this
+ printf("load_plugins: %s not cached\n", str);
+ #endif
+
+- if(!info && (lib = dlopen (str, RTLD_LAZY | RTLD_GLOBAL)) == NULL) {
++ if(!info && (lib = dlopen (str, RTLD_LAZY | RTLD_GLOBAL | RTLD_DEEPBIND)) == NULL) {
+ const char *error = dlerror();
+ /* too noisy -- but good to catch unresolved references */
+ xprintf(this, XINE_VERBOSITY_LOG,
+@@ -649,7 +649,7 @@ static int _load_plugin_class(xine_t *th
+ /* load the dynamic library if needed */
+ if (!node->file->lib_handle) {
+ lprintf("dlopen %s\n", filename);
+- if ((lib = dlopen (filename, RTLD_LAZY | RTLD_GLOBAL)) == NULL) {
++ if ((lib = dlopen (filename, RTLD_LAZY | RTLD_GLOBAL | RTLD_DEEPBIND)) == NULL) {
+ const char *error = dlerror();
+
+ xine_log (this, XINE_LOG_PLUGIN,
diff --git a/xine-lib-1.1.1-multilib-devel.patch b/xine-lib-1.1.1-multilib-devel.patch
new file mode 100644
index 0000000..ff0c549
--- /dev/null
+++ b/xine-lib-1.1.1-multilib-devel.patch
@@ -0,0 +1,40 @@
+--- misc/xine-config.in~ 2005-09-05 20:02:57.000000000 +0300
++++ misc/xine-config.in 2006-06-13 01:43:55.000000000 +0300
+@@ -2,8 +2,8 @@
+ #
+ #
+
+-prefix=@XINE_CONFIG_PREFIX@
+-exec_prefix=@exec_prefix@
++prefix=$(pkg-config libxine --variable=prefix)
++exec_prefix=$(pkg-config libxine --variable=exec_prefix)
+ exec_prefix_set=no
+
+ usage()
+@@ -54,7 +54,7 @@
+ echo_exec_prefix=yes
+ ;;
+ --version)
+- echo @XINE_MAJOR@.@XINE_MINOR@.(a)XINE_SUB@
++ pkg-config libxine --modversion
+ ;;
+ --acflags)
+ echo_acflags=yes
+@@ -100,14 +100,14 @@
+ fi
+
+ if test "$echo_cflags" = "yes"; then
+- echo -I@includedir@ @THREAD_CPPFLAGS@
++ pkg-config libxine --cflags
+ fi
+
+ if test "$echo_libs" = "yes"; then
+- echo -L@libdir@ -lxine @ZLIB_LIBS@ @NET_LIBS@ @THREAD_LIBS@ @LIBICONV@ @RT_LIBS@
++ pkg-config libxine --libs
+ fi
+ if test "$echo_plugindir" = "yes"; then
+- echo "@XINE_PLUGINPATH@"
++ echo "$(pkg-config libxine --variable=libdir)/xine/plugins/$(pkg-config libxine --modversion)"
+ fi
+ if test "$echo_datadir" = "yes"; then
+ echo "@XINE_DATADIR@"
diff --git a/xine-lib-cleanup-sources.sh b/xine-lib-cleanup-sources.sh
new file mode 100755
index 0000000..dfa3ef4
--- /dev/null
+++ b/xine-lib-cleanup-sources.sh
@@ -0,0 +1,65 @@
+#!/bin/bash
+
+if [ -z "$1" -o $# -ne 1 ]; then
+ echo "Usage: $0 <xine-version>"
+ exit 2
+fi
+
+version=$1
+tarball="xine-lib-$version.tar.bz2"
+dir="xine-lib-$version"
+
+
+if [ ! -f $tarball ]; then
+ echo "Can't find $tarball !"
+ exit 1
+fi
+
+echo "Uncompressing $tarball..."
+rm -rf $dir
+tar -xjf $tarball
+cd $dir
+
+# Main libraries
+for remove in libfaad libffmpeg libmad libmpeg2 dxr3 libspudec libxineadec libspucmml libspucc liba52 libdts; do
+ echo "removing src/$remove..."
+ rm -rf src/$remove
+ sed -i -e "/$remove/d" src/Makefile.am
+ sed -i -e "/^src\/$remove/d" configure.ac
+done
+# Input plugin libraries
+for remove in libdvdnav vcd; do
+ echo "removing src/input/$remove..."
+ rm -rf src/input/$remove
+ sed -i -e "s/SUBDIRS = \(.*\)${remove}\(.*\)/SUBDIRS = \1\2/g" src/input/Makefile.am
+ sed -i -e "/^src\/input\/$remove/d" configure.ac
+done
+# Input plugins
+for p in dvd vcd mms; do
+ echo "removing $p input plugin..."
+ # Remove sources
+ for sourcefile in `awk '/^xineplug_inp_'$p'_la_SOURCES/ { $1=""; $2=""; print $0}' src/input/Makefile.am`; do
+ if [ "`grep -c $sourcefile src/input/Makefile.am`" -le 1 ]; then # if this file is only used for this plugin
+ rm -f src/input/$sourcefile
+ fi
+ done
+ # Remove from Makefile
+ sed -i -e "/xineplug_inp_$p/d" src/input/Makefile.am
+done
+# Demuxers
+for p in mpeg mpeg_block mpeg_ts mpeg_elem mpeg_pes yuv4mpeg2; do
+ echo "removing $p demuxer..."
+ [ -f src/demuxers/demux_$p.c ] && rm -f src/demuxers/demux_$p.c
+ sed -i -e "/xineplug_dmx_$p/d" src/demuxers/Makefile.am
+done
+echo "removing planar and deinterlace postprocessors..."
+sed -i -e 's/planar//g;s/deinterlace//g' src/post/Makefile.am # fails to build
+
+# All clean !
+
+cd ..
+echo "Generating $tarball..."
+rm -f $tarball.orig
+mv $tarball $tarball.orig
+tar -cjf $tarball $dir
+rm -rf $dir
diff --git a/xine-lib.spec b/xine-lib.spec
new file mode 100644
index 0000000..faf767c
--- /dev/null
+++ b/xine-lib.spec
@@ -0,0 +1,262 @@
+# TODO, sometime, maybe:
+# - libstk: http://www.libstk.net/
+# - polypaudio
+
+%define codecdir %{_libdir}/codecs
+#%define vdrver 0.7.9
+
+Summary: Xine library
+Name: xine-lib
+Version: 1.1.2
+Release: 17%{?dist}
+License: GPL
+Group: System Environment/Libraries
+URL: http://xinehq.de/
+# The tarball is generated from the upstream tarball using
+# the script in SOURCE1. It prunes potentially patented code
+Source0: http://dl.sourceforge.net/xine/xine-lib-1.1.2.tar.bz2
+Source1: xine-lib-cleanup-sources.sh
+Patch1: xine-lib-1.1.1-configure-no-mcpu-march.patch
+Patch6: xine-lib-1.1.1-deepbind-939.patch
+Patch7: xine-lib-1.1.1-multilib-devel.patch
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
+# X11
+BuildRequires: libX11-devel libXv-devel libXinerama-devel libXvMC-devel libGLU-devel
+# Video
+BuildRequires: freetype-devel SDL-devel libtheora-devel libmng-devel
+BuildRequires: aalib-devel >= 1.4 libcaca-devel
+# Audio
+BuildRequires: libogg-devel libvorbis-devel flac-devel libmodplug-devel
+BuildRequires: esound-devel speex-devel arts-devel alsa-lib-devel >= 0.9.0
+# CDs
+BuildRequires: libcdio-devel
+# Other
+BuildRequires: pkgconfig gnome-vfs2-devel gtk2-devel
+BuildRequires: libtool >= 1.4.0 /usr/bin/automake-1.9 samba-common
+
+%if 0%{?_with_directfb:1}
+BuildRequires: directfb-devel
+%endif
+%if 0%{!?_without_imagemagick:1}
+BuildRequires: ImageMagick-devel >= 6.2.4.6-1
+%endif
+#Provides: %{name}(vdr) = %{vdrver}
+
+%package devel
+Summary: Xine library development files
+Group: Development/Libraries
+Requires: %{name} = %{version}-%{release}
+Requires: pkgconfig zlib-devel
+#Requires: %{name}(vdr) = %{vdrver}
+#Provides: %{name}-devel(vdr) = %{vdrver}
+
+
+%description
+This package contains the Xine library. Xine is a free multimedia player.
+It can play back various media. It also decodes multimedia files from local
+disk drives, and displays multimedia streamed over the Internet. It
+interprets many of the most common multimedia formats available - and some
+of the most uncommon formats, too. Non-default rpmbuild options:
+--without imagemagick: Disable ImageMagick support
+--with directfb: Enable DirectFB support
+
+%description devel
+This package contains development files for xine-lib.
+
+
+%prep
+%setup -q
+%patch1 -p0 -b .nomcpu
+###cp -p debian/changelog ChangeLog.vdr
+# Patch6 needed at least when compiling with external ffmpeg, #939.
+%patch6 -p1 -b .deepbind
+%patch7 -p0 -b .multilib-devel
+
+find . -name "*.[hc]" | xargs chmod -c -x
+
+aclocal-1.9 -I m4
+libtoolize --force
+autoheader
+automake-1.9 --gnu --add-missing
+autoconf
+
+# Avoid standard rpaths on lib64 archs:
+sed -i -e 's|"/lib /usr/lib\b|"/%{_lib} %{_libdir}|' configure
+
+
+%build
+FFMPEG_CPPFLAGS=" "; FFMPEG_LIBS=" "; export FFMPEG_CPPFLAGS FFMPEG_LIBS
+%configure --disable-dependency-tracking \
+ --with-xv-path=%{_libdir} \
+ --with-w32-path=%{codecdir} \
+ --with-external-ffmpeg \
+ --enable-ipv6 \
+%if 0%{?_with_directfb:1}
+ --enable-directfb \
+%endif
+%if 0%{?_without_imagemagick:1}
+ --disable-imagemagick \
+%endif
+ --disable-rte \
+ --disable-libfame \
+ --disable-ffmpegtest \
+ --disable-faad \
+ --disable-mad \
+ --disable-asf \
+ --disable-vcd \
+ --disable-a52dec \
+ --with-external-dvdnav --disable-dvdnavtest
+
+make %{?_smp_mflags}
+
+
+%install
+rm -rf $RPM_BUILD_ROOT __docs
+make install DESTDIR=$RPM_BUILD_ROOT
+%find_lang libxine1
+cp -pR $RPM_BUILD_ROOT%{_docdir}/xine __docs
+rm -rf $RPM_BUILD_ROOT%{_docdir}/xine
+
+# Removing useless files
+rm -Rf $RPM_BUILD_ROOT%{_libdir}/libxine.la __docs/README \
+ __docs/README.{freebsd,irix,solaris,MINGWCROSS,WIN32} \
+ __docs/README.{dxr3,network_dvd}
+
+# Directory for binary codecs
+mkdir -p $RPM_BUILD_ROOT%{codecdir}
+
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+
+%post -p /sbin/ldconfig
+%postun -p /sbin/ldconfig
+
+
+%files -f libxine1.lang
+%defattr(-,root,root,-)
+%doc AUTHORS COPYING CREDITS ChangeLog* README TODO __docs/README.* __docs/faq
+%dir %{codecdir}
+%{_datadir}/xine
+%{_libdir}/libxine.so.*
+%{_mandir}/man5/xine.5*
+%dir %{_libdir}/xine/
+%dir %{_libdir}/xine/plugins/
+%dir %{_libdir}/xine/plugins/%{version}/
+# I list all the plugins because I don't want a non-free plugin
+# to sneak into a future version
+# these plugins do not have legal problems according to the SuSE RPM
+%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_alsa.so
+%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_oss.so
+%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_none.so
+%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_fb.so
+%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_file.so
+%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_none.so
+%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_opengl.so
+%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xshm.so
+%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xv.so
+%{_libdir}/xine/plugins/%{version}/xineplug_inp_dvb.so
+%{_libdir}/xine/plugins/%{version}/xineplug_inp_v4l.so
+%{_libdir}/xine/plugins/%{version}/xineplug_inp_file.so
+%{_libdir}/xine/plugins/%{version}/xineplug_inp_http.so
+%{_libdir}/xine/plugins/%{version}/xineplug_inp_net.so
+%{_libdir}/xine/plugins/%{version}/xineplug_inp_pnm.so
+%{_libdir}/xine/plugins/%{version}/xineplug_inp_cdda.so
+%{_libdir}/xine/plugins/%{version}/xineplug_inp_smb.so
+%{_libdir}/xine/plugins/%{version}/xineplug_inp_stdin_fifo.so
+%{_libdir}/xine/plugins/%{version}/xineplug_inp_rtsp.so
+%{_libdir}/xine/plugins/%{version}/xineplug_inp_pvr.so
+%{_libdir}/xine/plugins/%{version}/xineplug_inp_rtp.so
+#%{_libdir}/xine/plugins/%{version}/xineplug_inp_vdr.so
+%{_libdir}/xine/plugins/%{version}/xineplug_decode_bitplane.so
+%{_libdir}/xine/plugins/%{version}/xineplug_decode_rgb.so
+%{_libdir}/xine/plugins/%{version}/xineplug_decode_vorbis.so
+%{_libdir}/xine/plugins/%{version}/xineplug_decode_yuv.so
+%{_libdir}/xine/plugins/%{version}/xineplug_decode_lpcm.so
+%{_libdir}/xine/plugins/%{version}/xineplug_decode_real.so
+%{_libdir}/xine/plugins/%{version}/xineplug_decode_real_audio.so
+%{_libdir}/xine/plugins/%{version}/xineplug_decode_speex.so
+%{_libdir}/xine/plugins/%{version}/xineplug_decode_theora.so
+%{_libdir}/xine/plugins/%{version}/xineplug_decode_spudvb.so
+%{_libdir}/xine/plugins/%{version}/xineplug_decode_mpc.so
+%{_libdir}/xine/plugins/%{version}/xineplug_dmx_yuv_frames.so
+%{_libdir}/xine/plugins/%{version}/xineplug_dmx_real.so
+%{_libdir}/xine/plugins/%{version}/xineplug_dmx_audio.so
+%{_libdir}/xine/plugins/%{version}/xineplug_dmx_iff.so
+%{_libdir}/xine/plugins/%{version}/xineplug_dmx_avi.so
+%{_libdir}/xine/plugins/%{version}/xineplug_dmx_flv.so
+%{_libdir}/xine/plugins/%{version}/xineplug_dmx_image.so
+%{_libdir}/xine/plugins/%{version}/xineplug_dmx_matroska.so
+%{_libdir}/xine/plugins/%{version}/xineplug_dmx_ogg.so
+%{_libdir}/xine/plugins/%{version}/xineplug_dmx_fli.so
+%{_libdir}/xine/plugins/%{version}/xineplug_dmx_nsv.so
+%{_libdir}/xine/plugins/%{version}/xineplug_dmx_mng.so
+%{_libdir}/xine/plugins/%{version}/xineplug_dmx_pva.so
+%{_libdir}/xine/plugins/%{version}/xineplug_dmx_qt.so
+%{_libdir}/xine/plugins/%{version}/xineplug_dmx_rawdv.so
+%{_libdir}/xine/plugins/%{version}/xineplug_dmx_sputext.so
+%{_libdir}/xine/plugins/%{version}/xineplug_dmx_games.so
+%{_libdir}/xine/plugins/%{version}/xineplug_dmx_slave.so
+%{_libdir}/xine/plugins/%{version}/xineplug_flac.so
+%{_libdir}/xine/plugins/%{version}/xineplug_decode_sputext.so
+%{_libdir}/xine/plugins/%{version}/xineplug_decode_gdk_pixbuf.so
+%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_caca.so
+%ifarch %ix86
+%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_vidix.so
+%{_libdir}/xine/plugins/%{version}/xineplug_decode_qt.so
+%{_libdir}/xine/plugins/%{version}/xineplug_decode_w32dll.so
+%endif
+%ifnarch ppc64 s390 s390x
+%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xxmc.so
+%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xvmc.so
+%endif
+%{_libdir}/xine/plugins/%{version}/post/
+%{_libdir}/xine/plugins/%{version}/vidix/
+# Put it in a xine-lib-extras package one day ?
+%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_arts.so
+%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_esd.so
+%{_libdir}/xine/plugins/%{version}/xineplug_inp_gnome_vfs.so
+%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_sdl.so
+%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_aa.so
+%{_libdir}/xine/plugins/%{version}/xineplug_decode_image.so
+
+
+%files devel
+%defattr(-,root,root,-)
+%doc __docs/hackersguide/*
+%{_bindir}/xine-config
+%{_datadir}/aclocal/xine.m4
+%{_includedir}/xine.h
+%{_includedir}/xine/
+%{_libdir}/libxine.so
+%{_libdir}/pkgconfig/libxine.pc
+%{_mandir}/man1/xine-config.1*
+
+# --------------------------------------------------------------------
+
+%changelog
+* Wed Oct 18 2006 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.2-17
+- cleanup docs
+- remove mms
+- delete more source files in the cleanup script
+- drop patch3 (affecting mms)
+
+* Tue Oct 17 2006 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.2-16
+- fix files list
+- add BR gtk2-devel
+- remove xineplug_decode_gdk_pixbuf.so from x86-only
+
+* Mon Oct 16 2006 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.2-15
+- removed libdts
+- drop dxr patch (it's removed from tarball)
+- list xineplug_decode_gdk_pixbuf.so and xineplug_vo_out_vidix.so only on x86
+
+* Sun Oct 15 2006 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.2-14
+- update SOURCE1 to remove liba52 from tarball (patented)
+
+* Tue Sep 12 2006 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.2-13
+- drop patches 2 and 4
+
+* Fri Sep 08 2006 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.2-12
+- initial Fedora Extras package
1 year, 4 months
Architecture specific change in rpms/ghc9.6.git
by githook-noreply@fedoraproject.org
The package rpms/ghc9.6.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/ghc9.6.git/commit/?id=01077a8f1a3...
https://src.fedoraproject.org/cgit/rpms/ghc9.6.git/commit/?id=bc269b3c3d3....
Change:
+%ifarch s390x
+%ifarch armv7hl
Thanks.
Full change:
============
commit eb776bb7c30fd44799709f0d3786c13dd6b491c1
Author: Jens Petersen <petersen(a)redhat.com>
Date: Thu Jan 19 10:20:22 2023 +0800
ghc-rpm-macros-2.5.0 isn't in fedora yet
diff --git a/ghc9.6.spec b/ghc9.6.spec
index a9b248e..65f2faa 100644
--- a/ghc9.6.spec
+++ b/ghc9.6.spec
@@ -138,7 +138,7 @@ BuildRequires: %{ghcboot}-compiler
%if %{with abicheck}
BuildRequires: %{name}
%endif
-BuildRequires: ghc-rpm-macros-extra >= 2.5.0
+BuildRequires: ghc-rpm-macros-extra
BuildRequires: %{ghcboot}-array-devel
BuildRequires: %{ghcboot}-binary-devel
BuildRequires: %{ghcboot}-bytestring-devel
@@ -518,7 +518,7 @@ export LANG=C.utf8
%global ghc_debuginfo 1
(
cd hadrian
-%ghc_bin_build -W
+%ghc_bin_build
)
%global hadrian hadrian/dist/build/hadrian/hadrian
%else
commit 01077a8f1a3660a6cb4eab53cdeb6e157181d74d
Author: Jens Petersen <petersen(a)redhat.com>
Date: Wed Jan 18 23:48:33 2023 +0800
drop ghc-warnings.mk-CC-Wall.patch
diff --git a/ghc-warnings.mk-CC-Wall.patch b/ghc-warnings.mk-CC-Wall.patch
deleted file mode 100644
index f775eb3..0000000
--- a/ghc-warnings.mk-CC-Wall.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- ghc-8.4.3/mk/warnings.mk~ 2018-02-04 02:30:11.000000000 +0900
-+++ ghc-8.4.3/mk/warnings.mk 2018-09-29 14:33:37.607884921 +0900
-@@ -1,6 +1,6 @@
- # See Note [Order of warning flags].
--SRC_CC_OPTS += -Wall $(WERROR)
-+#SRC_CC_OPTS += -Wall $(WERROR)
- SRC_HC_OPTS += -Wall
- # Don't add -Werror to SRC_HC_OPTS_STAGE0 (or SRC_HC_OPTS), because otherwise
- # validate may unnecessarily fail when booting with an older compiler.
- # It would be better to only exclude certain warnings from becoming errors
-
-Diff finished. Sat Sep 29 14:35:43 2018
diff --git a/ghc9.6.spec b/ghc9.6.spec
index 3e59fbe..a9b248e 100644
--- a/ghc9.6.spec
+++ b/ghc9.6.spec
@@ -119,9 +119,6 @@ Patch12: ghc-armv7-VFPv3D16--NEON.patch
# reverts https://github.com/haskell/text/pull/405
Patch13: text2-allow-ghc8-arm.patch
-# for unregisterized
-# https://gitlab.haskell.org/ghc/ghc/-/issues/15689
-Patch15: ghc-warnings.mk-CC-Wall.patch
Patch16: ghc-hadrian-s390x-rts--qg.patch
# Debian patches:
@@ -430,9 +427,7 @@ rm libffi-tarballs/libffi-*.tar.gz
%patch13 -p1 -b .orig
%endif
-# remove s390x after complete switching to llvm
-%ifarch %{ghc_unregisterized_arches} s390x
-%patch15 -p1 -b .orig
+%ifarch s390x
%patch16 -p1 -b .orig
%endif
commit 9b6cfbb39b94e8aa7b43a53c653e4e7cf2322f97
Author: Jens Petersen <petersen(a)redhat.com>
Date: Wed Jan 18 16:05:00 2023 +0800
add proposed 9604.patch which should more correctly fix abi hash stability
diff --git a/9604.patch b/9604.patch
new file mode 100644
index 0000000..56d2f6c
--- /dev/null
+++ b/9604.patch
@@ -0,0 +1,1192 @@
+From 40c9da19decb68e1bf4be6fef7b0592c19a8cacd Mon Sep 17 00:00:00 2001
+From: Matthew Pickering <matthewtpickering(a)gmail.com>
+Date: Tue, 13 Dec 2022 12:30:36 +0000
+Subject: [PATCH] Add flag to control whether self-recompilation information is
+ written to interface
+
+This patch adds the flag -fwrite-self-recomp-info which controls whether
+interface files contain the information necessary to answer the
+question:
+
+ Do I need to recompile myself or is this current interface file
+ suitable?
+
+Why? Most packages are only built once either by a distribution or cabal
+and then placed into an immutable store, after which we will never ask
+this question. Therefore we can derive two benefits from omitting this
+information.
+
+* Primary motivation: It vastly reduces the surface area for creating
+ non-deterministic interface files. See issue #10424 which motivated a
+ proper fix to that issue. Distributions have long contained versions
+ of GHC which just have broken self-recompilation checking (in order to
+ get deterministic interface files).
+
+* Secondary motivation: This reduces the size of interface files
+ slightly.. the `mi_usages` field can be quite big but probably this
+ isn't such a great benefit.
+
+* Third motivation: Conceptually clarity about which parts of an
+ interface file are used in order to **communicate** with subsequent
+ packages about the **interface** for a module. And which parts are
+ used to self-communicate during recompilation checking.
+
+In addition to this, the change alerted me to the incorrect
+implemenation of the reifyModule function. See #8489 for more discussion
+about how to fix this if anyone was so inclined. For now I just added a
+warning `-Wreify-module-missing-info` which triggers if the module you
+are trying to reify doesn't have a suitable interface. Interfaces which
+are unsuitable include:
+
+ * The GHC.Prim interface, which is a fake interface
+ * Interfaces compiled with -fno-write-self-recomp-info
+
+The main tracking issue is #22188 but fixes issues such as #10424 in a
+proper way.
+---
+ compiler/GHC/Driver/Flags.hs | 6 +-
+ compiler/GHC/Driver/Session.hs | 8 +-
+ compiler/GHC/HsToCore.hs | 23 +-
+ compiler/GHC/Iface/Binary.hs | 10 +-
+ compiler/GHC/Iface/Load.hs | 22 +-
+ compiler/GHC/Iface/Make.hs | 59 ++--
+ compiler/GHC/Iface/Recomp.hs | 77 +++---
+ compiler/GHC/Tc/Errors/Ppr.hs | 6 +
+ compiler/GHC/Tc/Errors/Types.hs | 6 +
+ compiler/GHC/Tc/Gen/Splice.hs | 21 +-
+ compiler/GHC/Types/Error/Codes.hs | 2 +
+ compiler/GHC/Unit/Module/ModGuts.hs | 2 +-
+ compiler/GHC/Unit/Module/ModIface.hs | 253 +++++++++++++-----
+ docs/users_guide/phases.rst | 18 ++
+ docs/users_guide/using-warnings.rst | 15 ++
+ .../should_compile/th/annth_compunits.stderr | 11 +
+ .../should_compile/th/annth_make.stderr | 11 +
+ testsuite/tests/driver/self-recomp/Makefile | 38 +++
+ .../tests/driver/self-recomp/SelfRecomp01.hs | 2 +
+ .../tests/driver/self-recomp/SelfRecomp02.hs | 6 +
+ .../tests/driver/self-recomp/SelfRecomp03.hs | 2 +
+ .../tests/driver/self-recomp/SelfRecomp04.hs | 1 +
+ .../driver/self-recomp/SelfRecomp04.stdout | 2 +
+ testsuite/tests/driver/self-recomp/all.T | 4 +
+ 24 files changed, 449 insertions(+), 156 deletions(-)
+ create mode 100644 testsuite/tests/annotations/should_compile/th/annth_compunits.stderr
+ create mode 100644 testsuite/tests/annotations/should_compile/th/annth_make.stderr
+ create mode 100644 testsuite/tests/driver/self-recomp/Makefile
+ create mode 100644 testsuite/tests/driver/self-recomp/SelfRecomp01.hs
+ create mode 100644 testsuite/tests/driver/self-recomp/SelfRecomp02.hs
+ create mode 100644 testsuite/tests/driver/self-recomp/SelfRecomp03.hs
+ create mode 100644 testsuite/tests/driver/self-recomp/SelfRecomp04.hs
+ create mode 100644 testsuite/tests/driver/self-recomp/SelfRecomp04.stdout
+ create mode 100644 testsuite/tests/driver/self-recomp/all.T
+
+diff --git a/compiler/GHC/Driver/Flags.hs b/compiler/GHC/Driver/Flags.hs
+index f45397d8872..fbae3c7a242 100644
+--- a/compiler/GHC/Driver/Flags.hs
++++ b/compiler/GHC/Driver/Flags.hs
+@@ -302,6 +302,7 @@ data GeneralFlag
+ | Opt_OmitInterfacePragmas
+ | Opt_ExposeAllUnfoldings
+ | Opt_WriteInterface -- forces .hi files to be written even with -fno-code
++ | Opt_WriteSelfRecompInfo
+ | Opt_WriteHie -- generate .hie files
+
+ -- profiling opts
+@@ -624,6 +625,7 @@ data WarningFlag =
+ | Opt_WarnGADTMonoLocalBinds -- Since 9.4
+ | Opt_WarnTypeEqualityOutOfScope -- Since 9.4
+ | Opt_WarnTypeEqualityRequiresOperators -- Since 9.4
++ | Opt_WarnReifyModuleMissingInfo -- Since 9.6
+ deriving (Eq, Ord, Show, Enum)
+
+ -- | Return the names of a WarningFlag
+@@ -729,6 +731,7 @@ warnFlagNames wflag = case wflag of
+ Opt_WarnGADTMonoLocalBinds -> "gadt-mono-local-binds" :| []
+ Opt_WarnTypeEqualityOutOfScope -> "type-equality-out-of-scope" :| []
+ Opt_WarnTypeEqualityRequiresOperators -> "type-equality-requires-operators" :| []
++ Opt_WarnReifyModuleMissingInfo -> "reify-module-missing-info" :| []
+
+ -- -----------------------------------------------------------------------------
+ -- Standard sets of warning options
+@@ -824,7 +827,8 @@ standardWarnings -- see Note [Documenting warning flags]
+ Opt_WarnForallIdentifier,
+ Opt_WarnUnicodeBidirectionalFormatCharacters,
+ Opt_WarnGADTMonoLocalBinds,
+- Opt_WarnTypeEqualityRequiresOperators
++ Opt_WarnTypeEqualityRequiresOperators,
++ Opt_WarnReifyModuleMissingInfo
+ ]
+
+ -- | Things you get with -W
+diff --git a/compiler/GHC/Driver/Session.hs b/compiler/GHC/Driver/Session.hs
+index 831267e2bf6..0dd79006999 100644
+--- a/compiler/GHC/Driver/Session.hs
++++ b/compiler/GHC/Driver/Session.hs
+@@ -3327,7 +3327,8 @@ wWarningFlagsDeps = mconcat [
+ warnSpec Opt_WarnUnicodeBidirectionalFormatCharacters,
+ warnSpec Opt_WarnGADTMonoLocalBinds,
+ warnSpec Opt_WarnTypeEqualityOutOfScope,
+- warnSpec Opt_WarnTypeEqualityRequiresOperators
++ warnSpec Opt_WarnTypeEqualityRequiresOperators,
++ warnSpec Opt_WarnReifyModuleMissingInfo
+ ]
+
+ -- | These @-\<blah\>@ flags can all be reversed with @-no-\<blah\>@
+@@ -3486,6 +3487,7 @@ fFlagsDeps = [
+ flagSpec "use-rpaths" Opt_RPath,
+ flagSpec "write-interface" Opt_WriteInterface,
+ flagSpec "write-if-simplified-core" Opt_WriteIfSimplifiedCore,
++ flagSpec "write-self-recomp-info" Opt_WriteSelfRecompInfo,
+ flagSpec "write-ide-info" Opt_WriteHie,
+ flagSpec "unbox-small-strict-fields" Opt_UnboxSmallStrictFields,
+ flagSpec "unbox-strict-fields" Opt_UnboxStrictFields,
+@@ -3809,7 +3811,9 @@ defaultFlags settings
+ Opt_DumpWithWays,
+ Opt_CompactUnwind,
+ Opt_ShowErrorContext,
+- Opt_SuppressStgReps
++ Opt_SuppressStgReps,
++ Opt_WriteSelfRecompInfo
++
+ ]
+
+ ++ [f | (ns,f) <- optLevelFlags, 0 `elem` ns]
+diff --git a/compiler/GHC/HsToCore.hs b/compiler/GHC/HsToCore.hs
+index 3c6ec710790..dd578475864 100644
+--- a/compiler/GHC/HsToCore.hs
++++ b/compiler/GHC/HsToCore.hs
+@@ -22,14 +22,12 @@ import GHC.Driver.Session
+ import GHC.Driver.Config
+ import GHC.Driver.Config.Core.Lint ( endPassHscEnvIO )
+ import GHC.Driver.Config.HsToCore.Ticks
+-import GHC.Driver.Config.HsToCore.Usage
+ import GHC.Driver.Env
+ import GHC.Driver.Backend
+ import GHC.Driver.Plugins
+
+ import GHC.Hs
+
+-import GHC.HsToCore.Usage
+ import GHC.HsToCore.Monad
+ import GHC.HsToCore.Errors.Types
+ import GHC.HsToCore.Expr
+@@ -41,7 +39,7 @@ import GHC.HsToCore.Coverage
+ import GHC.HsToCore.Docs
+
+ import GHC.Tc.Types
+-import GHC.Tc.Utils.Monad ( finalSafeMode, fixSafeInstances, initIfaceLoad )
++import GHC.Tc.Utils.Monad ( finalSafeMode, fixSafeInstances )
+ import GHC.Tc.Module ( runTcInteractive )
+
+ import GHC.Core.Type
+@@ -98,6 +96,7 @@ import GHC.Unit.Module.Deps
+ import Data.List (partition)
+ import Data.IORef
+ import Data.Traversable (for)
++import GHC.Iface.Make (mkRecompUsageInfo)
+
+ {-
+ ************************************************************************
+@@ -125,12 +124,10 @@ deSugar hsc_env
+ tcg_fix_env = fix_env,
+ tcg_inst_env = inst_env,
+ tcg_fam_inst_env = fam_inst_env,
+- tcg_merged = merged,
+ tcg_warns = warns,
+ tcg_anns = anns,
+ tcg_binds = binds,
+ tcg_imp_specs = imp_specs,
+- tcg_dependent_files = dependent_files,
+ tcg_ev_binds = ev_binds,
+ tcg_th_foreign_files = th_foreign_files_var,
+ tcg_fords = fords,
+@@ -224,8 +221,7 @@ deSugar hsc_env
+
+ ; endPassHscEnvIO hsc_env name_ppr_ctx CoreDesugarOpt ds_binds ds_rules_for_imps
+
+- ; let used_names = mkUsedNames tcg_env
+- pluginModules = map lpModule (loadedPlugins (hsc_plugins hsc_env))
++ ; let pluginModules = map lpModule (loadedPlugins (hsc_plugins hsc_env))
+ home_unit = hsc_home_unit hsc_env
+ ; let deps = mkDependencies home_unit
+ (tcg_mod tcg_env)
+@@ -233,17 +229,10 @@ deSugar hsc_env
+ (map mi_module pluginModules)
+
+ ; used_th <- readIORef tc_splice_used
+- ; dep_files <- readIORef dependent_files
+ ; safe_mode <- finalSafeMode dflags tcg_env
+- ; (needed_mods, needed_pkgs) <- readIORef (tcg_th_needed_deps tcg_env)
+-
+- ; let uc = initUsageConfig hsc_env
+- ; let plugins = hsc_plugins hsc_env
+- ; let fc = hsc_FC hsc_env
+- ; let unit_env = hsc_unit_env hsc_env
+- ; usages <- initIfaceLoad hsc_env $
+- mkUsageInfo uc plugins fc unit_env mod (imp_mods imports) used_names
+- dep_files merged needed_mods needed_pkgs
++
++ ; usages <- mkRecompUsageInfo hsc_env tcg_env
++
+ -- id_mod /= mod when we are processing an hsig, but hsigs
+ -- never desugared and compiled (there's no code!)
+ -- Consequently, this should hold for any ModGuts that make
+diff --git a/compiler/GHC/Iface/Binary.hs b/compiler/GHC/Iface/Binary.hs
+index 78045aa782f..48dc54fa8ba 100644
+--- a/compiler/GHC/Iface/Binary.hs
++++ b/compiler/GHC/Iface/Binary.hs
+@@ -45,7 +45,6 @@ import GHC.Types.Name.Cache
+ import GHC.Types.SrcLoc
+ import GHC.Platform
+ import GHC.Settings.Constants
+-import GHC.Utils.Fingerprint
+
+ import Data.Array
+ import Data.Array.IO
+@@ -75,7 +74,7 @@ readBinIfaceHeader
+ -> CheckHiWay
+ -> TraceBinIFace
+ -> FilePath
+- -> IO (Fingerprint, BinHandle)
++ -> IO BinHandle
+ readBinIfaceHeader profile _name_cache checkHiWay traceBinIFace hi_path = do
+ let platform = profilePlatform profile
+
+@@ -117,8 +116,7 @@ readBinIfaceHeader profile _name_cache checkHiWay traceBinIFace hi_path = do
+ when (checkHiWay == CheckHiWay) $
+ errorOnMismatch "mismatched interface file profile tag" tag check_tag
+
+- src_hash <- get bh
+- pure (src_hash, bh)
++ pure bh
+
+ -- | Read an interface file.
+ readBinIface
+@@ -129,7 +127,7 @@ readBinIface
+ -> FilePath
+ -> IO ModIface
+ readBinIface profile name_cache checkHiWay traceBinIface hi_path = do
+- (src_hash, bh) <- readBinIfaceHeader profile name_cache checkHiWay traceBinIface hi_path
++ bh <- readBinIfaceHeader profile name_cache checkHiWay traceBinIface hi_path
+
+ extFields_p <- get bh
+
+@@ -140,7 +138,6 @@ readBinIface profile name_cache checkHiWay traceBinIface hi_path = do
+
+ return mod_iface
+ { mi_ext_fields = extFields
+- , mi_src_hash = src_hash
+ }
+
+ -- | This performs a get action after reading the dictionary and symbol
+@@ -182,7 +179,6 @@ writeBinIface profile traceBinIface hi_path mod_iface = do
+ put_ bh (show hiVersion)
+ let tag = profileBuildTag profile
+ put_ bh tag
+- put_ bh (mi_src_hash mod_iface)
+
+ extFields_p_p <- tellBin bh
+ put_ bh extFields_p_p
+diff --git a/compiler/GHC/Iface/Load.hs b/compiler/GHC/Iface/Load.hs
+index bf7ae8e0059..400782628be 100644
+--- a/compiler/GHC/Iface/Load.hs
++++ b/compiler/GHC/Iface/Load.hs
+@@ -1105,28 +1105,31 @@ pprModIfaceSimple unit_state iface =
+ -- The UnitState is used to pretty-print units
+ pprModIface :: UnitState -> ModIface -> SDoc
+ pprModIface unit_state iface@ModIface{ mi_final_exts = exts }
+- = vcat [ text "interface"
++ = vcat $ [ text "interface"
+ <+> ppr (mi_module iface) <+> pp_hsc_src (mi_hsc_src iface)
++ <+> whenIsSelfRecomp (text "[self-recomp]")
+ <+> (if mi_orphan exts then text "[orphan module]" else Outputable.empty)
+ <+> (if mi_finsts exts then text "[family instance module]" else Outputable.empty)
+ <+> (if mi_hpc iface then text "[hpc]" else Outputable.empty)
+ <+> integer hiVersion
+- , nest 2 (text "interface hash:" <+> ppr (mi_iface_hash exts))
+ , nest 2 (text "ABI hash:" <+> ppr (mi_mod_hash exts))
+ , nest 2 (text "export-list hash:" <+> ppr (mi_exp_hash exts))
++ , whenIsSelfRecomp $ vcat
++ [ nest 2 (text "interface hash:" <+> ppr (mi_iface_hash exts))
++ , nest 2 (text "flag hash:" <+> ppr (mi_flag_hash exts))
++ , nest 2 (text "opt_hash:" <+> ppr (mi_opt_hash exts))
++ , nest 2 (text "hpc_hash:" <+> ppr (mi_hpc_hash exts))
++ , nest 2 (text "plugin_hash:" <+> ppr (mi_plugin_hash exts))
++ ]
+ , nest 2 (text "orphan hash:" <+> ppr (mi_orphan_hash exts))
+- , nest 2 (text "flag hash:" <+> ppr (mi_flag_hash exts))
+- , nest 2 (text "opt_hash:" <+> ppr (mi_opt_hash exts))
+- , nest 2 (text "hpc_hash:" <+> ppr (mi_hpc_hash exts))
+- , nest 2 (text "plugin_hash:" <+> ppr (mi_plugin_hash exts))
+- , nest 2 (text "src_hash:" <+> ppr (mi_src_hash iface))
+ , nest 2 (text "sig of:" <+> ppr (mi_sig_of iface))
+ , nest 2 (text "used TH splices:" <+> ppr (mi_used_th iface))
++ , whenIsSelfRecomp $ nest 2 (text "src_hash:" <+> ppr (mi_src_hash iface))
+ , nest 2 (text "where")
+ , text "exports:"
+ , nest 2 (vcat (map pprExport (mi_exports iface)))
+ , pprDeps unit_state (mi_deps iface)
+- , vcat (map pprUsage (mi_usages iface))
++ , whenIsSelfRecomp $ vcat (map pprUsage (mi_usages iface))
+ , vcat (map pprIfaceAnnotation (mi_anns iface))
+ , pprFixities (mi_fixities iface)
+ , vcat [ppr ver $$ nest 2 (ppr decl) | (ver,decl) <- mi_decls iface]
+@@ -1145,6 +1148,9 @@ pprModIface unit_state iface@ModIface{ mi_final_exts = exts }
+ , text "extensible fields:" $$ nest 2 (pprExtensibleFields (mi_ext_fields iface))
+ ]
+ where
++ whenIsSelfRecomp action =
++ if (isSelfRecompilationInterface iface) then action else empty
++
+ pp_hsc_src HsBootFile = text "[boot]"
+ pp_hsc_src HsigFile = text "[hsig]"
+ pp_hsc_src HsSrcFile = Outputable.empty
+diff --git a/compiler/GHC/Iface/Make.hs b/compiler/GHC/Iface/Make.hs
+index ac55220cbfb..f55e943dbe1 100644
+--- a/compiler/GHC/Iface/Make.hs
++++ b/compiler/GHC/Iface/Make.hs
+@@ -13,6 +13,7 @@ module GHC.Iface.Make
+ ( mkPartialIface
+ , mkFullIface
+ , mkIfaceTc
++ , mkRecompUsageInfo
+ , mkIfaceExports
+ , coAxiomToIfaceDecl
+ , tyThingToIfaceDecl -- Converting things to their Iface equivalents
+@@ -203,14 +204,11 @@ mkIfaceTc hsc_env safe_mode mod_details mod_summary mb_program
+ tcg_imports = imports,
+ tcg_rdr_env = rdr_env,
+ tcg_fix_env = fix_env,
+- tcg_merged = merged,
+ tcg_warns = warns,
+ tcg_hpc = other_hpc_info,
+- tcg_th_splice_used = tc_splice_used,
+- tcg_dependent_files = dependent_files
++ tcg_th_splice_used = tc_splice_used
+ }
+ = do
+- let used_names = mkUsedNames tc_result
+ let pluginModules = map lpModule (loadedPlugins (hsc_plugins hsc_env))
+ let home_unit = hsc_home_unit hsc_env
+ let deps = mkDependencies home_unit
+@@ -219,47 +217,58 @@ mkIfaceTc hsc_env safe_mode mod_details mod_summary mb_program
+ (map mi_module pluginModules)
+ let hpc_info = emptyHpcInfo other_hpc_info
+ used_th <- readIORef tc_splice_used
+- dep_files <- (readIORef dependent_files)
+- (needed_links, needed_pkgs) <- readIORef (tcg_th_needed_deps tc_result)
+- let uc = initUsageConfig hsc_env
+- plugins = hsc_plugins hsc_env
+- fc = hsc_FC hsc_env
+- unit_env = hsc_unit_env hsc_env
+- -- Do NOT use semantic module here; this_mod in mkUsageInfo
+- -- is used solely to decide if we should record a dependency
+- -- or not. When we instantiate a signature, the semantic
+- -- module is something we want to record dependencies for,
+- -- but if you pass that in here, we'll decide it's the local
+- -- module and does not need to be recorded as a dependency.
+- -- See Note [Identity versus semantic module]
+- usages <- initIfaceLoad hsc_env $ mkUsageInfo uc plugins fc unit_env this_mod (imp_mods imports) used_names
+- dep_files merged needed_links needed_pkgs
+
++ usage <- mkRecompUsageInfo hsc_env tc_result
+ docs <- extractDocs (ms_hspp_opts mod_summary) tc_result
+
+ let partial_iface = mkIface_ hsc_env
+ this_mod (fromMaybe [] mb_program) hsc_src
+ used_th deps rdr_env
+ fix_env warns hpc_info
+- (imp_trust_own_pkg imports) safe_mode usages
++ (imp_trust_own_pkg imports) safe_mode usage
+ docs mod_summary
+ mod_details
+
+ mkFullIface hsc_env partial_iface Nothing Nothing
+
++mkRecompUsageInfo :: HscEnv -> TcGblEnv -> IO (Maybe [Usage])
++mkRecompUsageInfo hsc_env tc_result = do
++ let dflags = hsc_dflags hsc_env
++ if not (gopt Opt_WriteSelfRecompInfo dflags)
++ then return Nothing
++ else do
++ let used_names = mkUsedNames tc_result
++ dep_files <- (readIORef (tcg_dependent_files tc_result))
++ (needed_links, needed_pkgs) <- readIORef (tcg_th_needed_deps tc_result)
++ let uc = initUsageConfig hsc_env
++ plugins = hsc_plugins hsc_env
++ fc = hsc_FC hsc_env
++ unit_env = hsc_unit_env hsc_env
++
++ -- Do NOT use semantic module here; this_mod in mkUsageInfo
++ -- is used solely to decide if we should record a dependency
++ -- or not. When we instantiate a signature, the semantic
++ -- module is something we want to record dependencies for,
++ -- but if you pass that in here, we'll decide it's the local
++ -- module and does not need to be recorded as a dependency.
++ -- See Note [Identity versus semantic module]
++ usages <- initIfaceLoad hsc_env $ mkUsageInfo uc plugins fc unit_env (tcg_mod tc_result) (imp_mods (tcg_imports tc_result)) used_names
++ dep_files (tcg_merged tc_result) needed_links needed_pkgs
++ return (Just usages)
++
+ mkIface_ :: HscEnv -> Module -> CoreProgram -> HscSource
+ -> Bool -> Dependencies -> GlobalRdrEnv
+ -> NameEnv FixItem -> Warnings GhcRn -> HpcInfo
+ -> Bool
+ -> SafeHaskellMode
+- -> [Usage]
++ -> Maybe [Usage]
+ -> Maybe Docs
+ -> ModSummary
+ -> ModDetails
+ -> PartialModIface
+ mkIface_ hsc_env
+ this_mod core_prog hsc_src used_th deps rdr_env fix_env src_warns
+- hpc_info pkg_trust_req safe_mode usages
++ hpc_info pkg_trust_req safe_mode musages
+ docs mod_summary
+ ModDetails{ md_insts = insts,
+ md_fam_insts = fam_insts,
+@@ -307,6 +316,9 @@ mkIface_ hsc_env
+ trust_info = setSafeMode safe_mode
+ annotations = map mkIfaceAnnotation anns
+ icomplete_matches = map mkIfaceCompleteMatch complete_matches
++ self_recomp = case musages of
++ Nothing -> NoSelfRecomp
++ Just usages -> ModIfaceSelfRecomp (ms_hs_hash mod_summary) usages
+
+ ModIface {
+ mi_module = this_mod,
+@@ -317,7 +329,6 @@ mkIface_ hsc_env
+ else Just semantic_mod,
+ mi_hsc_src = hsc_src,
+ mi_deps = deps,
+- mi_usages = usages,
+ mi_exports = mkIfaceExports exports,
+
+ -- Sort these lexicographically, so that
+@@ -340,7 +351,7 @@ mkIface_ hsc_env
+ mi_docs = docs,
+ mi_final_exts = (),
+ mi_ext_fields = emptyExtensibleFields,
+- mi_src_hash = ms_hs_hash mod_summary
++ mi_self_recomp_info = self_recomp
+ }
+ where
+ cmp_rule = lexicalCompareFS `on` ifRuleName
+diff --git a/compiler/GHC/Iface/Recomp.hs b/compiler/GHC/Iface/Recomp.hs
+index 886bc12192e..8abf38d5373 100644
+--- a/compiler/GHC/Iface/Recomp.hs
++++ b/compiler/GHC/Iface/Recomp.hs
+@@ -171,6 +171,7 @@ data RecompReason
+ = UnitDepRemoved UnitId
+ | ModulePackageChanged FastString
+ | SourceFileChanged
++ | NoSelfRecompInfo
+ | ThisUnitIdChanged
+ | ImpurePlugin
+ | PluginsChanged
+@@ -203,6 +204,7 @@ instance Outputable RecompReason where
+ UnitDepRemoved uid -> ppr uid <+> text "removed"
+ ModulePackageChanged s -> ftext s <+> text "package changed"
+ SourceFileChanged -> text "Source file changed"
++ NoSelfRecompInfo -> text "Old interface lacks recompilation info"
+ ThisUnitIdChanged -> text "-this-unit-id changed"
+ ImpurePlugin -> text "Impure plugin forced recompilation"
+ PluginsChanged -> text "Plugins changed"
+@@ -373,6 +375,8 @@ checkVersions hsc_env mod_summary iface
+ -- but we ALSO must make sure the instantiation matches up. See
+ -- test case bkpcabal04!
+ ; hsc_env <- getTopEnv
++ ; if not (isSelfRecompilationInterface iface)
++ then return $ outOfDateItemBecause NoSelfRecompInfo Nothing else do {
+ ; if mi_src_hash iface /= ms_hs_hash mod_summary
+ then return $ outOfDateItemBecause SourceFileChanged Nothing else do {
+ ; if not (isHomeModule home_unit (mi_module iface))
+@@ -407,7 +411,7 @@ checkVersions hsc_env mod_summary iface
+ | u <- mi_usages iface]
+ ; case recomp of (NeedsRecompile reason) -> return $ OutOfDateItem reason (Just iface) ; _ -> do {
+ ; return $ UpToDateItem iface
+- }}}}}}}
++ }}}}}}}}
+ where
+ logger = hsc_logger hsc_env
+ dflags = hsc_dflags hsc_env
+@@ -1210,18 +1214,6 @@ addFingerprints hsc_env iface0
+ sorted_extra_decls :: Maybe [IfaceBindingX IfaceMaybeRhs IfaceTopBndrInfo]
+ sorted_extra_decls = sortOn binding_key <$> mi_extra_decls iface0
+
+- -- the flag hash depends on:
+- -- - (some of) dflags
+- -- it returns two hashes, one that shouldn't change
+- -- the abi hash and one that should
+- flag_hash <- fingerprintDynFlags hsc_env this_mod putNameLiterally
+-
+- opt_hash <- fingerprintOptFlags dflags putNameLiterally
+-
+- hpc_hash <- fingerprintHpcFlags dflags putNameLiterally
+-
+- plugin_hash <- fingerprintPlugins (hsc_plugins hsc_env)
+-
+ -- the ABI hash depends on:
+ -- - decls
+ -- - export list
+@@ -1233,29 +1225,18 @@ addFingerprints hsc_env iface0
+ export_hash, -- includes orphan_hash
+ mi_warns iface0)
+
+- -- The interface hash depends on:
+- -- - the ABI hash, plus
+- -- - the source file hash,
+- -- - the module level annotations,
+- -- - usages
+- -- - deps (home and external packages, dependent files)
+- -- - hpc
+- iface_hash <- computeFingerprint putNameLiterally
+- (mod_hash,
+- mi_src_hash iface0,
+- ann_fn (mkVarOccFS (fsLit "module")), -- See mkIfaceAnnCache
+- mi_usages iface0,
+- sorted_deps,
+- mi_hpc iface0)
++ -- the flag hash depends on:
++ -- - (some of) dflags
++ -- it returns two hashes, one that shouldn't change
++ -- the abi hash and one that should
++ self_recomp <- if gopt Opt_WriteSelfRecompInfo dflags
++ then mkSelfRecomp mod_hash sorted_deps
++ else return NoSelfRecompBackend
+
+ let
+ final_iface_exts = ModIfaceBackend
+- { mi_iface_hash = iface_hash
++ { mi_self_recomp_backend_info = self_recomp
+ , mi_mod_hash = mod_hash
+- , mi_flag_hash = flag_hash
+- , mi_opt_hash = opt_hash
+- , mi_hpc_hash = hpc_hash
+- , mi_plugin_hash = plugin_hash
+ , mi_orphan = not ( all ifRuleAuto orph_rules
+ -- See Note [Orphans and auto-generated rules]
+ && null orph_insts
+@@ -1280,6 +1261,38 @@ addFingerprints hsc_env iface0
+ (non_orph_fis, orph_fis) = mkOrphMap ifFamInstOrph (mi_fam_insts iface0)
+ ann_fn = mkIfaceAnnCache (mi_anns iface0)
+
++ mkSelfRecomp mod_hash sorted_deps = do
++
++ flag_hash <- fingerprintDynFlags hsc_env this_mod putNameLiterally
++
++ opt_hash <- fingerprintOptFlags dflags putNameLiterally
++
++ hpc_hash <- fingerprintHpcFlags dflags putNameLiterally
++
++ plugin_hash <- fingerprintPlugins (hsc_plugins hsc_env)
++
++ -- The interface hash depends on:
++ -- - the ABI hash, plus
++ -- - the source file hash,
++ -- - the module level annotations,
++ -- - usages
++ -- - deps (home and external packages, dependent files)
++ -- - hpc
++ iface_hash <- computeFingerprint putNameLiterally
++ (mod_hash,
++ mi_src_hash iface0,
++ ann_fn (mkVarOccFS (fsLit "module")), -- See mkIfaceAnnCache
++ mi_usages iface0,
++ sorted_deps,
++ mi_hpc iface0)
++
++ return (ModIfaceSelfRecompBackend
++ { mi_sr_flag_hash = flag_hash
++ , mi_sr_hpc_hash = hpc_hash
++ , mi_sr_opt_hash = opt_hash
++ , mi_sr_iface_hash = iface_hash
++ , mi_sr_plugin_hash = plugin_hash })
++
+ -- | Retrieve the orphan hashes 'mi_orphan_hash' for a list of modules
+ -- (in particular, the orphan modules which are transitively imported by the
+ -- current module).
+diff --git a/compiler/GHC/Tc/Errors/Ppr.hs b/compiler/GHC/Tc/Errors/Ppr.hs
+index 33b75e3eb15..014ffe33c2e 100644
+--- a/compiler/GHC/Tc/Errors/Ppr.hs
++++ b/compiler/GHC/Tc/Errors/Ppr.hs
+@@ -1223,6 +1223,9 @@ instance Diagnostic TcRnMessage where
+ TcRnSectionWithoutParentheses expr -> mkSimpleDecorated $
+ hang (text "A section must be enclosed in parentheses")
+ 2 (text "thus:" <+> (parens (ppr expr)))
++ TcRnReifyModuleMissingInfo m -> mkSimpleDecorated $
++ vcat [ (ppr m) <+> text "can't be reified due to missing information in its interface file."
++ , text "Possible cause:" <+> ppr m <+> text "was compiled with -fno-write-self-recomp-info" ]
+
+
+ diagnosticReason = \case
+@@ -1628,6 +1631,8 @@ instance Diagnostic TcRnMessage where
+ -> ErrorWithoutFlag
+ TcRnIllegalTupleSection{}
+ -> ErrorWithoutFlag
++ TcRnReifyModuleMissingInfo {} ->
++ WarningWithFlag Opt_WarnReifyModuleMissingInfo
+
+ diagnosticHints = \case
+ TcRnUnknownMessage m
+@@ -2037,6 +2042,7 @@ instance Diagnostic TcRnMessage where
+ -> noHints
+ TcRnIllegalTupleSection{}
+ -> [suggestExtension LangExt.TupleSections]
++ TcRnReifyModuleMissingInfo {} -> noHints
+
+
+ diagnosticCode = constructorCode
+diff --git a/compiler/GHC/Tc/Errors/Types.hs b/compiler/GHC/Tc/Errors/Types.hs
+index 335e7c49653..b7b1a32b871 100644
+--- a/compiler/GHC/Tc/Errors/Types.hs
++++ b/compiler/GHC/Tc/Errors/Types.hs
+@@ -2762,6 +2762,12 @@ data TcRnMessage where
+ -}
+ TcRnSectionWithoutParentheses :: HsExpr GhcPs -> TcRnMessage
+
++ {-| TcRnReifyModuleMissingInfo is a warning triggered by attempting to
++ call reifyModule on a module whose interface file lacks the necessary information
++ to satisfy the query. This normally occurs when the module is compiled with `-fno-write-self-recomp-info`.
++ -}
++ TcRnReifyModuleMissingInfo:: Module -> TcRnMessage
++
+ deriving Generic
+
+ -- | Things forbidden in @type data@ declarations.
+diff --git a/compiler/GHC/Tc/Gen/Splice.hs b/compiler/GHC/Tc/Gen/Splice.hs
+index 6ba304be169..3bbe9a9af7c 100644
+--- a/compiler/GHC/Tc/Gen/Splice.hs
++++ b/compiler/GHC/Tc/Gen/Splice.hs
+@@ -2808,6 +2808,10 @@ modToTHMod :: Module -> TH.Module
+ modToTHMod m = TH.Module (TH.PkgName $ unitString $ moduleUnit m)
+ (TH.ModName $ moduleNameString $ moduleName m)
+
++-- | Note that reifyModule will not work if the module is compiled with `-fno-write-self-recomp-info`
++-- because the implementation works by consulting the `mi_usages` field which is intended to be only
++-- used for recompilation checking. See #8489 for a ticket which tracks improvement
++-- of this function.
+ reifyModule :: TH.Module -> TcM TH.ModuleInfo
+ reifyModule (TH.Module (TH.PkgName pkgString) (TH.ModName mString)) = do
+ this_mod <- getModule
+@@ -2820,9 +2824,20 @@ reifyModule (TH.Module (TH.PkgName pkgString) (TH.ModName mString)) = do
+
+ reifyFromIface reifMod = do
+ iface <- loadInterfaceForModule (text "reifying module from TH for" <+> ppr reifMod) reifMod
+- let usages = [modToTHMod m | usage <- mi_usages iface,
+- Just m <- [usageToModule (moduleUnit reifMod) usage] ]
+- return $ TH.ModuleInfo usages
++ case mi_self_recomp_info iface of
++ NoSelfRecomp -> do
++ -- Arguably this should fail here but GHC.Prim always has NoSelfRecomp, so
++ -- any existing traversals would just stop working. Now they will start warning
++ -- and a user is expected to add a special case to avoid GHC.Prim in their traversal.
++
++ -- An alternative would be to add that special case for GHC.Prim here and make it a hard
++ -- error if reifyModule was attempted to be used with these partial interface files.
++ addDiagnosticTc (TcRnReifyModuleMissingInfo reifMod)
++ return (TH.ModuleInfo [])
++ ModIfaceSelfRecomp{ mi_sr_usages } -> do
++ let usages = [modToTHMod m | usage <- mi_sr_usages
++ , Just m <- [usageToModule (moduleUnit reifMod) usage] ]
++ return $ TH.ModuleInfo usages
+
+ usageToModule :: Unit -> Usage -> Maybe Module
+ usageToModule _ (UsageFile {}) = Nothing
+diff --git a/compiler/GHC/Types/Error/Codes.hs b/compiler/GHC/Types/Error/Codes.hs
+index ad8028ef387..e157c14a2ba 100644
+--- a/compiler/GHC/Types/Error/Codes.hs
++++ b/compiler/GHC/Types/Error/Codes.hs
+@@ -500,6 +500,8 @@ type family GhcDiagnosticCode c = n | n -> c where
+ GhcDiagnosticCode "TcRnMissingClassAssoc" = 06205
+ GhcDiagnosticCode "TcRnBadFamInstDecl" = 06206
+ GhcDiagnosticCode "TcRnNotOpenFamily" = 06207
++ GhcDiagnosticCode "TcRnReifyModuleMissingInfo" = 89264
++
+
+ -- IllegalNewtypeReason
+ GhcDiagnosticCode "DoesNotHaveSingleField" = 23517
+diff --git a/compiler/GHC/Unit/Module/ModGuts.hs b/compiler/GHC/Unit/Module/ModGuts.hs
+index d54e836d714..9f14ba91651 100644
+--- a/compiler/GHC/Unit/Module/ModGuts.hs
++++ b/compiler/GHC/Unit/Module/ModGuts.hs
+@@ -52,7 +52,7 @@ data ModGuts
+ mg_exports :: ![AvailInfo], -- ^ What it exports
+ mg_deps :: !Dependencies, -- ^ What it depends on, directly or
+ -- otherwise
+- mg_usages :: ![Usage], -- ^ What was used? Used for interfaces.
++ mg_usages :: !(Maybe [Usage]), -- ^ What was used? Used for interfaces.
+
+ mg_used_th :: !Bool, -- ^ Did we run a TH splice?
+ mg_rdr_env :: !GlobalRdrEnv, -- ^ Top-level lexical environment
+diff --git a/compiler/GHC/Unit/Module/ModIface.hs b/compiler/GHC/Unit/Module/ModIface.hs
+index 1d5280f4fa7..9a748c9ea0b 100644
+--- a/compiler/GHC/Unit/Module/ModIface.hs
++++ b/compiler/GHC/Unit/Module/ModIface.hs
+@@ -3,12 +3,16 @@
+ {-# LANGUAGE FlexibleContexts #-}
+ {-# LANGUAGE FlexibleInstances #-}
+ {-# LANGUAGE UndecidableInstances #-}
++{-# LANGUAGE NamedFieldPuns #-}
+
+ module GHC.Unit.Module.ModIface
+ ( ModIface
+ , ModIface_ (..)
+ , PartialModIface
+ , ModIfaceBackend (..)
++ , ModIfaceSelfRecompBackend (..)
++ , ModIfaceSelfRecomp (..)
++ , isSelfRecompilationInterface
+ , IfaceDeclExts
+ , IfaceBackendExts
+ , IfaceExport
+@@ -19,6 +23,13 @@ module GHC.Unit.Module.ModIface
+ , mi_semantic_module
+ , mi_free_holes
+ , mi_mnwib
++ , mi_flag_hash
++ , mi_iface_hash
++ , mi_opt_hash
++ , mi_hpc_hash
++ , mi_plugin_hash
++ , mi_usages
++ , mi_src_hash
+ , renameFreeHoles
+ , emptyPartialModIface
+ , emptyFullModIface
+@@ -57,6 +68,9 @@ import GHC.Utils.Binary
+
+ import Control.DeepSeq
+ import Control.Exception
++import GHC.Utils.Panic
++import GHC.Utils.Outputable
++import GHC.Utils.Misc
+
+ {- Note [Interface file stages]
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+@@ -82,19 +96,11 @@ type ModIface = ModIface_ 'ModIfaceFinal
+ -- * Or computed just before writing the iface to disk. (Hashes)
+ -- In order to fully instantiate it.
+ data ModIfaceBackend = ModIfaceBackend
+- { mi_iface_hash :: !Fingerprint
+- -- ^ Hash of the whole interface
+- , mi_mod_hash :: !Fingerprint
++ { mi_mod_hash :: !Fingerprint
+ -- ^ Hash of the ABI only
+- , mi_flag_hash :: !Fingerprint
+- -- ^ Hash of the important flags used when compiling the module, excluding
+- -- optimisation flags
+- , mi_opt_hash :: !Fingerprint
+- -- ^ Hash of optimisation flags
+- , mi_hpc_hash :: !Fingerprint
+- -- ^ Hash of hpc flags
+- , mi_plugin_hash :: !Fingerprint
+- -- ^ Hash of plugins
++ , mi_self_recomp_backend_info :: !ModIfaceSelfRecompBackend
++ -- ^ Information needed for checking self-recompilation.
++ -- See Note [Self recompilation information in interface files]
+ , mi_orphan :: !WhetherHasOrphans
+ -- ^ Whether this module has orphans
+ , mi_finsts :: !WhetherHasFamInst
+@@ -136,6 +142,81 @@ type family IfaceBackendExts (phase :: ModIfacePhase) = bk | bk -> phase where
+ IfaceBackendExts 'ModIfaceCore = ()
+ IfaceBackendExts 'ModIfaceFinal = ModIfaceBackend
+
++-- | The information for a module which is only used when deciding whether to recompile
++-- itself. In particular the external interface of a module is recorded by the ABI
++-- hash
++data ModIfaceSelfRecompBackend = NoSelfRecompBackend | ModIfaceSelfRecompBackend {
++ mi_sr_flag_hash :: !Fingerprint
++ -- ^ Hash of the important flags used when compiling the module, excluding
++ -- optimisation flags
++ , mi_sr_iface_hash :: !Fingerprint
++ -- ^ Hash of the whole interface
++ , mi_sr_opt_hash :: !Fingerprint
++ -- ^ Hash of optimisation flags
++ , mi_sr_hpc_hash :: !Fingerprint
++ -- ^ Hash of hpc flags
++ , mi_sr_plugin_hash :: !Fingerprint
++ -- ^ Hash of plugins
++}
++withSelfRecompBackend :: HasCallStack => (ModIfaceSelfRecompBackend-> t) -> ModIfaceBackend-> t
++
++withSelfRecompBackend f mi =
++ case mi_self_recomp_backend_info mi of
++ NoSelfRecompBackend -> panic "Trying to use self-recomp info"
++ x -> f x
++
++mi_flag_hash :: HasCallStack => ModIfaceBackend -> Fingerprint
++mi_flag_hash = withSelfRecompBackend mi_sr_flag_hash
++mi_iface_hash :: HasCallStack => ModIfaceBackend -> Fingerprint
++mi_iface_hash = withSelfRecompBackend mi_sr_iface_hash
++mi_opt_hash :: HasCallStack => ModIfaceBackend -> Fingerprint
++mi_opt_hash = withSelfRecompBackend mi_sr_opt_hash
++mi_hpc_hash :: HasCallStack => ModIfaceBackend -> Fingerprint
++mi_hpc_hash = withSelfRecompBackend mi_sr_hpc_hash
++mi_plugin_hash :: HasCallStack => ModIfaceBackend -> Fingerprint
++mi_plugin_hash = withSelfRecompBackend mi_sr_plugin_hash
++
++isSelfRecompilationInterface :: ModIface -> Bool
++isSelfRecompilationInterface iface =
++ case mi_self_recomp_info iface of
++ NoSelfRecomp -> False
++ ModIfaceSelfRecomp {} -> True
++
++{-
++Note [Self recompilation information in interface files]
++~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
++
++The flag -fwrite-self-recomp-info controls whether
++interface files contain the information necessary to answer the
++question:
++
++ Do I need to recompile myself or is this current interface file
++ suitable?
++
++Why? Most packages are only built once either by a distribution or cabal
++and then placed into an immutable store, after which we will never ask
++this question. Therefore we can derive two benefits from omitting this
++information.
++
++* Primary motivation: It vastly reduces the surface area for creating
++ non-deterministic interface files. See issue #10424 which motivated a
++ proper fix to that issue. Distributions have long contained versions
++ of GHC which just have broken self-recompilation checking (in order to
++ get deterministic interface files).
++
++* Secondary motivation: This reduces the size of interface files
++ slightly.. the `mi_usages` field can be quite big but probably this
++ isn't such a great benefit.
++
++* Third motivation: Conceptually clarity about which parts of an
++ interface file are used in order to **communicate** with subsequent
++ packages about the **interface** for a module. And which parts are
++ used to self-communicate during recompilation checking.
++
++The main tracking issue is #22188 but fixes issues such as #10424 in a
++proper way.
++
++-}
+
+
+ -- | A 'ModIface' plus a 'ModDetails' summarises everything we know
+@@ -162,12 +243,6 @@ data ModIface_ (phase :: ModIfacePhase)
+ -- consulted for directly-imported modules, but not
+ -- for anything else (hence lazy)
+
+- mi_usages :: [Usage],
+- -- ^ Usages; kept sorted so that it's easy to decide
+- -- whether to write a new iface file (changing usages
+- -- doesn't affect the hash of this module)
+- -- NOT STRICT! we read this field lazily from the interface file
+- -- It is *only* consulted by the recompilation checker
+
+ mi_exports :: ![IfaceExport],
+ -- ^ Exports
+@@ -259,10 +334,40 @@ data ModIface_ (phase :: ModIfacePhase)
+ -- chosen over `ByteString`s.
+ --
+
+- mi_src_hash :: !Fingerprint
+- -- ^ Hash of the .hs source, used for recompilation checking.
++ mi_self_recomp_info :: !ModIfaceSelfRecomp
++ -- ^ Information needed for checking self-recompilation.
++ -- See Note [Self recompilation information in interface files]
+ }
+
++data ModIfaceSelfRecomp = NoSelfRecomp
++ | ModIfaceSelfRecomp { mi_sr_src_hash :: !Fingerprint
++ -- ^ Hash of the .hs source, used for recompilation checking.
++ , mi_sr_usages :: [Usage]
++ -- ^ Usages; kept sorted so that it's easy to decide
++ -- whether to write a new iface file (changing usages
++ -- doesn't affect the hash of this module)
++ -- NOT STRICT! we read this field lazily from the interface file
++ -- It is *only* consulted by the recompilation checker
++ }
++
++instance Outputable ModIfaceSelfRecomp where
++ ppr NoSelfRecomp = text "NoSelfRecomp"
++ ppr (ModIfaceSelfRecomp{mi_sr_src_hash, mi_sr_usages}) = vcat [text "Self-Recomp"
++ , nest 2 (vcat [text "src hash:" <+> ppr mi_sr_src_hash
++ , text "usages:" <+> ppr (length mi_sr_usages)])]
++
++withSelfRecomp :: HasCallStack => (ModIfaceSelfRecomp-> t) -> ModIface_ phase -> t
++withSelfRecomp f mi =
++ case mi_self_recomp_info mi of
++ NoSelfRecomp -> panic "Trying to use self-recomp info"
++ x -> f x
++
++mi_usages :: HasCallStack => ModIface_ phase -> [Usage]
++mi_usages = withSelfRecomp mi_sr_usages
++mi_src_hash :: HasCallStack => ModIface_ phase -> Fingerprint
++mi_src_hash = withSelfRecomp mi_sr_src_hash
++
++
+ {-
+ Note [Strictness in ModIface]
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+@@ -337,17 +442,53 @@ renameFreeHoles fhs insts =
+ -- It wasn't actually a hole
+ | otherwise = emptyUniqDSet
+
++instance Binary ModIfaceSelfRecompBackend where
++ put_ bh NoSelfRecompBackend = put_ bh (0 :: Int)
++ put_ bh (ModIfaceSelfRecompBackend {mi_sr_flag_hash, mi_sr_iface_hash, mi_sr_plugin_hash, mi_sr_opt_hash, mi_sr_hpc_hash}) = do
++ put_ bh (1 :: Int)
++ put_ bh mi_sr_flag_hash
++ put_ bh mi_sr_iface_hash
++ put_ bh mi_sr_plugin_hash
++ put_ bh mi_sr_opt_hash
++ put_ bh mi_sr_hpc_hash
++
++ get bh = do
++ (tag :: Int) <- get bh
++ case tag of
++ 0 -> return NoSelfRecompBackend
++ 1 -> do
++ mi_sr_flag_hash <- get bh
++ mi_sr_iface_hash <- get bh
++ mi_sr_plugin_hash <- get bh
++ mi_sr_opt_hash <- get bh
++ mi_sr_hpc_hash <- get bh
++ return (ModIfaceSelfRecompBackend {mi_sr_flag_hash, mi_sr_iface_hash, mi_sr_plugin_hash, mi_sr_opt_hash, mi_sr_hpc_hash})
++ x -> pprPanic "get_ModIfaceSelfRecomp" (ppr x)
++
++instance Binary ModIfaceSelfRecomp where
++ put_ bh NoSelfRecomp = put_ bh (0 :: Int)
++ put_ bh (ModIfaceSelfRecomp{mi_sr_src_hash, mi_sr_usages}) = do
++ put_ bh (1 :: Int)
++ put_ bh mi_sr_src_hash
++ lazyPut bh mi_sr_usages
++
++ get bh = do
++ (tag :: Int) <- get bh
++ case tag of
++ 0 -> return NoSelfRecomp
++ 1 -> do
++ src_hash <- get bh
++ usages <- {-# SCC "bin_usages" #-} lazyGet bh
++ return $ ModIfaceSelfRecomp { mi_sr_src_hash = src_hash, mi_sr_usages = usages }
++ x -> pprPanic "get_ModIfaceSelfRecomp" (ppr x)
++
+ -- See Note [Strictness in ModIface] about where we use lazyPut vs put
+ instance Binary ModIface where
+ put_ bh (ModIface {
+ mi_module = mod,
+ mi_sig_of = sig_of,
+ mi_hsc_src = hsc_src,
+- mi_src_hash = _src_hash, -- Don't `put_` this in the instance
+- -- because we are going to write it
+- -- out separately in the actual file
+ mi_deps = deps,
+- mi_usages = usages,
+ mi_exports = exports,
+ mi_used_th = used_th,
+ mi_fixities = fixities,
+@@ -366,13 +507,10 @@ instance Binary ModIface where
+ mi_ext_fields = _ext_fields, -- Don't `put_` this in the instance so we
+ -- can deal with it's pointer in the header
+ -- when we write the actual file
++ mi_self_recomp_info = self_recomp,
+ mi_final_exts = ModIfaceBackend {
+- mi_iface_hash = iface_hash,
++ mi_self_recomp_backend_info = self_recomp_backend,
+ mi_mod_hash = mod_hash,
+- mi_flag_hash = flag_hash,
+- mi_opt_hash = opt_hash,
+- mi_hpc_hash = hpc_hash,
+- mi_plugin_hash = plugin_hash,
+ mi_orphan = orphan,
+ mi_finsts = hasFamInsts,
+ mi_exp_hash = exp_hash,
+@@ -381,16 +519,12 @@ instance Binary ModIface where
+ put_ bh mod
+ put_ bh sig_of
+ put_ bh hsc_src
+- put_ bh iface_hash
++ put_ bh self_recomp
++ put_ bh self_recomp_backend
+ put_ bh mod_hash
+- put_ bh flag_hash
+- put_ bh opt_hash
+- put_ bh hpc_hash
+- put_ bh plugin_hash
+ put_ bh orphan
+ put_ bh hasFamInsts
+ lazyPut bh deps
+- lazyPut bh usages
+ put_ bh exports
+ put_ bh exp_hash
+ put_ bh used_th
+@@ -413,16 +547,12 @@ instance Binary ModIface where
+ mod <- get bh
+ sig_of <- get bh
+ hsc_src <- get bh
+- iface_hash <- get bh
++ self_recomp_info <- get bh
++ self_recomp_backend_info <- get bh
+ mod_hash <- get bh
+- flag_hash <- get bh
+- opt_hash <- get bh
+- hpc_hash <- get bh
+- plugin_hash <- get bh
+ orphan <- get bh
+ hasFamInsts <- get bh
+ deps <- lazyGet bh
+- usages <- {-# SCC "bin_usages" #-} lazyGet bh
+ exports <- {-# SCC "bin_exports" #-} get bh
+ exp_hash <- get bh
+ used_th <- get bh
+@@ -444,10 +574,7 @@ instance Binary ModIface where
+ mi_module = mod,
+ mi_sig_of = sig_of,
+ mi_hsc_src = hsc_src,
+- mi_src_hash = fingerprint0, -- placeholder because this is dealt
+- -- with specially when the file is read
+ mi_deps = deps,
+- mi_usages = usages,
+ mi_exports = exports,
+ mi_used_th = used_th,
+ mi_anns = anns,
+@@ -467,13 +594,10 @@ instance Binary ModIface where
+ mi_docs = docs,
+ mi_ext_fields = emptyExtensibleFields, -- placeholder because this is dealt
+ -- with specially when the file is read
++ mi_self_recomp_info = self_recomp_info,
+ mi_final_exts = ModIfaceBackend {
+- mi_iface_hash = iface_hash,
++ mi_self_recomp_backend_info = self_recomp_backend_info,
+ mi_mod_hash = mod_hash,
+- mi_flag_hash = flag_hash,
+- mi_opt_hash = opt_hash,
+- mi_hpc_hash = hpc_hash,
+- mi_plugin_hash = plugin_hash,
+ mi_orphan = orphan,
+ mi_finsts = hasFamInsts,
+ mi_exp_hash = exp_hash,
+@@ -491,9 +615,7 @@ emptyPartialModIface mod
+ = ModIface { mi_module = mod,
+ mi_sig_of = Nothing,
+ mi_hsc_src = HsSrcFile,
+- mi_src_hash = fingerprint0,
+ mi_deps = noDependencies,
+- mi_usages = [],
+ mi_exports = [],
+ mi_used_th = False,
+ mi_fixities = [],
+@@ -511,6 +633,7 @@ emptyPartialModIface mod
+ mi_complete_matches = [],
+ mi_docs = Nothing,
+ mi_final_exts = (),
++ mi_self_recomp_info = NoSelfRecomp,
+ mi_ext_fields = emptyExtensibleFields
+ }
+
+@@ -518,13 +641,9 @@ emptyFullModIface :: Module -> ModIface
+ emptyFullModIface mod =
+ (emptyPartialModIface mod)
+ { mi_decls = []
+- , mi_final_exts = ModIfaceBackend
+- { mi_iface_hash = fingerprint0,
++ , mi_final_exts = ModIfaceBackend {
+ mi_mod_hash = fingerprint0,
+- mi_flag_hash = fingerprint0,
+- mi_opt_hash = fingerprint0,
+- mi_hpc_hash = fingerprint0,
+- mi_plugin_hash = fingerprint0,
++ mi_self_recomp_backend_info = NoSelfRecompBackend, -- TODO
+ mi_orphan = False,
+ mi_finsts = False,
+ mi_exp_hash = fingerprint0,
+@@ -669,19 +669,31 @@
+ -- Take care, this instance only forces to the degree necessary to
+ -- avoid major space leaks.
+ instance (NFData (IfaceBackendExts (phase :: ModIfacePhase)), NFData (IfaceDeclExts (phase :: ModIfacePhase))) => NFData (ModIface_ phase) where
+- rnf (ModIface f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
++ rnf (ModIface f1 f2 f3 f4 f6 f7 f8 f9 f10 f11 f12
+ f13 f14 f15 f16 f17 f18 f19 f20 f21 f22 f23 f24) =
+- rnf f1 `seq` rnf f2 `seq` f3 `seq` f4 `seq` f5 `seq` f6 `seq` rnf f7 `seq` f8 `seq`
++ rnf f1 `seq` rnf f2 `seq` f3 `seq` f4 `seq` f6 `seq` rnf f7 `seq` f8 `seq`
+ f9 `seq` rnf f10 `seq` rnf f11 `seq` rnf f12 `seq` f13 `seq` rnf f14 `seq` rnf f15 `seq` rnf f16 `seq`
+ rnf f17 `seq` f18 `seq` rnf f19 `seq` rnf f20 `seq` rnf f21 `seq` f22 `seq` f23 `seq` rnf f24
+ `seq` ()
+
+
+ instance NFData (ModIfaceBackend) where
+- rnf (ModIfaceBackend f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13)
++ rnf (ModIfaceBackend f1 f2 f3 f4 f5 f6 f7 f8 f9)
+ = rnf f1 `seq` rnf f2 `seq` rnf f3 `seq` rnf f4 `seq`
+ rnf f5 `seq` rnf f6 `seq` rnf f7 `seq` rnf f8 `seq`
+- rnf f9 `seq` rnf f10 `seq` rnf f11 `seq` rnf f12 `seq` rnf f13
++ rnf f9
++
++instance NFData ModIfaceSelfRecompBackend where
++ -- Sufficient as all fields are strict (and simple)
++ rnf NoSelfRecompBackend = ()
++ -- Written like this so if you add another field you have to think about it
++ rnf !(ModIfaceSelfRecompBackend _ _ _ _ _) = ()
++instance NFData ModIfaceSelfRecomp where
++ -- Sufficient as all fields are strict (and simple)
++ rnf NoSelfRecomp = ()
++ -- MP: Note does not deeply force Usages but the old ModIface logic didn't either, so
++ -- I left it as a shallow force.
++ rnf (ModIfaceSelfRecomp src_hash usages) = src_hash `seq` usages `seq` ()
+
+
+ forceModIface :: ModIface -> IO ()
+diff --git a/docs/users_guide/phases.rst b/docs/users_guide/phases.rst
+index aa171c2055b..b9557193985 100644
+--- a/docs/users_guide/phases.rst
++++ b/docs/users_guide/phases.rst
+@@ -653,6 +653,24 @@ Options affecting code generation
+ depend on the optimisation level. Any definitions which are already included in
+ an interface file (via an unfolding for an exported identifier) are reused.
+
++.. ghc-flag:: -fwrite-self-recomp-info
++ :shortdesc: Write information for self-recompilation checking in an interface file
++ :type: dynamic
++ :category: codegen
++
++ :default: on
++
++ Include information in an interface file which can be used in future to determine
++ whether we need to recompile a module or can reuse the existing interface.
++
++ This is intended to be turned off in situations where you know you will never try
++ to recompile a module, such as when compiling a package for distribution.
++ The advantage is that by omitting unecessary information to do with dependencies
++ there is less chance of build paths leaking into the interface file and affecting
++ determinism.
++
++
++
+
+ .. ghc-flag:: -fobject-code
+ :shortdesc: Generate object code
+diff --git a/docs/users_guide/using-warnings.rst b/docs/users_guide/using-warnings.rst
+index 977bb699410..d61fc46319c 100644
+--- a/docs/users_guide/using-warnings.rst
++++ b/docs/users_guide/using-warnings.rst
+@@ -2355,6 +2355,21 @@ of ``-W(no-)*``.
+ triggered whenever this happens, and can be addressed by enabling the
+ extension.
+
++.. ghc-flag:: -Wreify-module-missing-info
++ :shortdesc: warn when `reifyModule`
++ :type: dynamic
++ :reverse: -Wno-reify-module-missing-info
++
++ :since: 9.6.1
++
++ The `reifyModule` function in the Template Haskell API can fail to find the necessary
++ information when an interface file is generated with `-fno-write-self-recomp-info`. This
++ is due to a shortcoming in `reifyModule` tracked by :ghc-ticket:`8489`.
++
++ This flag warns the user when they try to call `reifyModule` on a module where this
++ situation occurs so that they know the traversal has ended prematurely.
++
++
+ If you're feeling really paranoid, the :ghc-flag:`-dcore-lint` option is a good choice.
+ It turns on heavyweight intra-pass sanity-checking within GHC. (It checks GHC's
+ sanity, not yours.)
diff --git a/ghc9.6.spec b/ghc9.6.spec
index ff558bb..3e59fbe 100644
--- a/ghc9.6.spec
+++ b/ghc9.6.spec
@@ -109,6 +109,9 @@ Patch1: ghc-gen_contents_index-haddock-path.patch
Patch2: ghc-Cabal-install-PATH-warning.patch
Patch3: ghc-gen_contents_index-nodocs.patch
Patch8: ghc-configure-c99.patch
+# https://gitlab.haskell.org/ghc/ghc/-/merge_requests/9604
+# backported to 9.6
+Patch9: https://gitlab.haskell.org/ghc/ghc/-/merge_requests/9604.patch
# arm patches
Patch12: ghc-armv7-VFPv3D16--NEON.patch
@@ -122,7 +125,9 @@ Patch15: ghc-warnings.mk-CC-Wall.patch
Patch16: ghc-hadrian-s390x-rts--qg.patch
# Debian patches:
-Patch24: buildpath-abi-stability.patch
+# bad according to upstream
+# see eg https://gitlab.haskell.org/ghc/ghc/-/merge_requests/9604
+#Patch24: buildpath-abi-stability.patch
Patch26: no-missing-haddock-file-warning.patch
Patch27: haddock-remove-googleapis-fonts.patch
@@ -414,6 +419,7 @@ Installing this package causes %{name}-*-prof packages corresponding to
%patch2 -p1 -b .orig
%patch8 -p1 -b .orig
+%patch9 -p1 -b .orig
rm libffi-tarballs/libffi-*.tar.gz
commit bc269b3c3d355a3666e84b4ed2255f8667dec6a6
Author: Jens Petersen <petersen(a)redhat.com>
Date: Wed Jan 18 13:57:20 2023 +0800
initial import of 9.6.1-alpha1 derived from ghc9.4
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..371daec
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+/ghc-9.6.0.20230111-src.tar.lz
diff --git a/buildpath-abi-stability.patch b/buildpath-abi-stability.patch
new file mode 100644
index 0000000..3b6c50b
--- /dev/null
+++ b/buildpath-abi-stability.patch
@@ -0,0 +1,22 @@
+--- ghc-9.6.0.20230111/compiler/GHC/Iface/Recomp.hs.orig 2023-01-11 11:09:56.000000000 +0800
++++ ghc-9.6.0.20230111/compiler/GHC/Iface/Recomp.hs 2023-01-18 13:55:20.493638167 +0800
+@@ -1244,7 +1244,7 @@
+ (mod_hash,
+ mi_src_hash iface0,
+ ann_fn (mkVarOccFS (fsLit "module")), -- See mkIfaceAnnCache
+- mi_usages iface0,
++ usages,
+ sorted_deps,
+ mi_hpc iface0)
+
+@@ -1279,6 +1279,8 @@
+ (non_orph_rules, orph_rules) = mkOrphMap ifRuleOrph (mi_rules iface0)
+ (non_orph_fis, orph_fis) = mkOrphMap ifFamInstOrph (mi_fam_insts iface0)
+ ann_fn = mkIfaceAnnCache (mi_anns iface0)
++ -- Do not allow filenames to affect the interface
++ usages = [ case u of UsageFile _ fp -> UsageFile "" fp; _ -> u | u <- mi_usages iface0 ]
+
+ -- | Retrieve the orphan hashes 'mi_orphan_hash' for a list of modules
+ -- (in particular, the orphan modules which are transitively imported by the
+
+Diff finished. Wed Jan 18 13:55:33 2023
diff --git a/ghc-Cabal-install-PATH-warning.patch b/ghc-Cabal-install-PATH-warning.patch
new file mode 100644
index 0000000..5f2baa7
--- /dev/null
+++ b/ghc-Cabal-install-PATH-warning.patch
@@ -0,0 +1,12 @@
+--- ghc/libraries/Cabal/Cabal/src/Distribution/Simple/Install.hs~ 2017-05-05 23:51:43.000000000 +0900
++++ ghc/libraries/Cabal/Cabal/src/Distribution/Simple/Install.hs 2018-02-27 12:22:13.159432104 +0900
+@@ -215,8 +215,7 @@
+ ++ " in " ++ binPref)
+ inPath <- isInSearchPath binPref
+ when (not inPath) $
+- warn verbosity ("The directory " ++ binPref
+- ++ " is not in the system search path.")
++ warn verbosity ("Executable installed in " ++ binPref)
+ case compilerFlavor (compiler lbi) of
+ GHC -> GHC.installExe verbosity lbi binPref buildPref progFix pkg_descr exe
+ GHCJS -> GHCJS.installExe verbosity lbi binPref buildPref progFix pkg_descr exe
diff --git a/ghc-armv7-VFPv3D16--NEON.patch b/ghc-armv7-VFPv3D16--NEON.patch
new file mode 100644
index 0000000..1d6044e
--- /dev/null
+++ b/ghc-armv7-VFPv3D16--NEON.patch
@@ -0,0 +1,11 @@
+--- ghc-9.2.1/m4/get_arm_isa.m4~ 2021-10-29 04:41:34.000000000 +0800
++++ ghc-9.2.1/m4/get_arm_isa.m4 2021-12-30 23:21:15.637195477 +0800
+@@ -81,7 +81,7 @@
+ fi],
+ [changequote(, )dnl
+ ARM_ISA=ARMv7
+- ARM_ISA_EXT="[VFPv3,NEON]"
++ ARM_ISA_EXT="[VFPv3D16]"
+ changequote([, ])dnl
+ ])
+ ])
diff --git a/ghc-configure-c99.patch b/ghc-configure-c99.patch
new file mode 100644
index 0000000..f771a9c
--- /dev/null
+++ b/ghc-configure-c99.patch
@@ -0,0 +1,70 @@
+Submitted upstream:
+
+ <https://gitlab.haskell.org/ghc/ghc/-/merge_requests/9394>
+
+From 6b218717ac85d6dc9104f470cac0b4fb594104f4 Mon Sep 17 00:00:00 2001
+From: Florian Weimer <fweimer(a)redhat.com>
+Date: Tue, 22 Nov 2022 15:23:50 +0100
+Subject: [PATCH] m4/fp_leading_underscore.m4: Avoid implicit exit function
+ declaration
+Content-type: text/plain
+
+And switch to a new-style function definition.
+
+Fixes build issues with compilers that do not accept implicit function
+declarations.
+---
+ m4/fp_leading_underscore.m4 | 10 ++++------
+ 1 file changed, 4 insertions(+), 6 deletions(-)
+
+diff --git a/m4/fp_leading_underscore.m4 b/m4/fp_leading_underscore.m4
+index fde57c7625..939cee3b69 100644
+--- a/m4/fp_leading_underscore.m4
++++ b/m4/fp_leading_underscore.m4
+@@ -32,17 +32,15 @@ struct nlist xYzzY1[] = {{"xYzzY1", 0},{0}};
+ struct nlist xYzzY2[] = {{"_xYzzY2", 0},{0}};
+ #endif
+
+-int main(argc, argv)
+-int argc;
+-char **argv;
++int main(int argc, char **argv)
+ {
+ #if defined(HAVE_NLIST_H)
+ if(nlist(argv[0], xYzzY1) == 0 && xYzzY1[0].n_value != 0)
+- exit(1);
++ return 1;
+ if(nlist(argv[0], xYzzY2) == 0 && xYzzY2[0].n_value != 0)
+- exit(0);
++ return 0;
+ #endif
+- exit(1);
++ return 1;
+ }]])],[fptools_cv_leading_underscore=yes],[fptools_cv_leading_underscore=no],[fptools_cv_leading_underscore=no])
+ ;;
+ esac]);
+diff -ur ghc-9.4.3.orig/configure ghc-9.4.3/configure
+--- ghc-9.4.3.orig/configure 2022-11-03 04:46:32.000000000 +0100
++++ ghc-9.4.3/configure 2022-11-22 16:37:07.812512120 +0100
+@@ -17095,17 +17101,15 @@
+ struct nlist xYzzY2[] = {{"_xYzzY2", 0},{0}};
+ #endif
+
+-int main(argc, argv)
+-int argc;
+-char **argv;
++int main(int argc, char **argv)
+ {
+ #if defined(HAVE_NLIST_H)
+ if(nlist(argv[0], xYzzY1) == 0 && xYzzY1[0].n_value != 0)
+- exit(1);
++ return 1;
+ if(nlist(argv[0], xYzzY2) == 0 && xYzzY2[0].n_value != 0)
+- exit(0);
++ return 0;
+ #endif
+- exit(1);
++ return 1;
+ }
+ _ACEOF
+ if ac_fn_c_try_run "$LINENO"; then :
diff --git a/ghc-gen_contents_index-haddock-path.patch b/ghc-gen_contents_index-haddock-path.patch
new file mode 100644
index 0000000..e6819ee
--- /dev/null
+++ b/ghc-gen_contents_index-haddock-path.patch
@@ -0,0 +1,10 @@
+--- ghc-7.6.3/libraries/gen_contents_index~ 2013-04-19 06:22:46.000000000 +0900
++++ ghc-7.6.3/libraries/gen_contents_index 2013-04-22 12:07:48.922152864 +0900
+@@ -60,6 +60,6 @@
+ done
+ else
+- HADDOCK=../../../../../bin/haddock
++ HADDOCK=/usr/bin/haddock
+ # We don't want the GHC API to swamp the index
+ HADDOCK_FILES=`ls -1 */*.haddock | grep -v '/ghc\.haddock' | sort`
+ HADDOCK_ARGS="-p prologue.txt"
diff --git a/ghc-gen_contents_index-nodocs.patch b/ghc-gen_contents_index-nodocs.patch
new file mode 100644
index 0000000..bb7f9a6
--- /dev/null
+++ b/ghc-gen_contents_index-nodocs.patch
@@ -0,0 +1,11 @@
+--- ghc-8.6.5/libraries/gen_contents_index~ 2020-02-24 15:02:26.318866694 +0800
++++ ghc-8.6.5/libraries/gen_contents_index 2020-04-09 18:18:40.290722327 +0800
+@@ -47,6 +47,8 @@
+ HADDOCK_ARGS="$HADDOCK_ARGS $HADDOCK_ARG"
+ done
+ else
++ if ! ls */*.haddock &>/dev/null; then exit 0; fi
++
+ HADDOCK=/usr/bin/haddock
+ # We don't want the GHC API to swamp the index
+ HADDOCK_FILES=`ls -1 */*.haddock | grep -v '/ghc\.haddock' | sort`
diff --git a/ghc-hadrian-s390x-rts--qg.patch b/ghc-hadrian-s390x-rts--qg.patch
new file mode 100644
index 0000000..57a9088
--- /dev/null
+++ b/ghc-hadrian-s390x-rts--qg.patch
@@ -0,0 +1,11 @@
+--- ghc-9.4.1/hadrian/hadrian.cabal~ 2022-08-07 12:00:38.000000000 +0800
++++ ghc-9.4.1/hadrian/hadrian.cabal 2022-08-10 19:54:33.335164261 +0800
+@@ -173,7 +173,7 @@
+ -- waiting for external processes
+ -- * -qg: Don't use parallel GC as the synchronization
+ -- time tends to eat any benefit.
+- "-with-rtsopts=-I0 -qg"
++ "-with-rtsopts=-I0"
+ -threaded
+
+ if flag(selftest)
diff --git a/ghc-pkg.man b/ghc-pkg.man
new file mode 100644
index 0000000..ccac8e4
--- /dev/null
+++ b/ghc-pkg.man
@@ -0,0 +1,228 @@
+.TH ghc-pkg 1 "2010-01-27"
+.SH NAME
+ghc-pkg \- GHC Haskell Cabal package manager
+.SH SYNOPSIS
+.B ghc-pkg
+.I action
+.RI [ OPTION ]...
+.SH DESCRIPTION
+A package is a library of Haskell modules known to the compiler. The
+.B ghc-pkg
+tool allows adding or removing them from a package database. By
+default, the system-wide package database is modified, but
+alternatively the user's local package database or another specified
+file can be used.
+.PP
+To make a package available for
+.BR ghc ,
+.B ghc-pkg
+can be used to register it. Unregistering it removes it from the
+database. Also, packages can be hidden, to make
+.B ghc
+ignore the package by default, without uninstalling it. Exposing a
+package makes a hidden package available. Additionally,
+.B ghc-pkg
+has various commands to query the package database.
+.PP
+Where a package name is required, the package can be named in full
+including the version number (e.g.
+.BR network-1.0 ),
+or without the version number. Naming a package without the version
+number matches all versions of the package; the specified action will
+be applied to all the matching packages. A package specifier that
+matches all version of the package can also be written
+.BR pkg-* ,
+to make it clearer that multiple packages are being matched.
+.SH ACTIONS
+.TP
+\fBregister\fP \fIfilename\fP|\fB-\fP
+Register the package using the specified installed package
+description.
+.TP
+\fBupdate\fP \fIfilename\fP|\fB-\fP
+Register the package, overwriting any other package with the same
+name.
+.TP
+\fBunregister\fP \fIpkg-id\fP
+Unregister the specified package.
+.TP
+\fBexpose\fP \fIpkg-id\fP
+Expose the specified package.
+.TP
+\fBhide\fP \fIpkg-id\fP
+Hide the specified package
+.TP
+\fBlist\fP \fR[\fIpkg\fR]...\fP
+List registered packages in the global database, and also the user
+database if
+.B --user
+is given. If a package name is given all the registered versions will
+be listed in ascending order. Accepts the
+.B --simple-output
+flag.
+.TP
+.B dot
+Generate a graph of the package dependencies in a form suitable for
+input for the graphviz tools. For example, to generate a PDF of the
+dependency graph:
+.br
+\fB dot \| tred \| dot -Tpdf >pkgs.pdf\fP
+.TP
+\fBfind-module\fP \fImodule\fP
+List registered packages exposing module
+.I module
+in the global database, and also the user database if
+.B --user
+is given. All the registered versions will be listed in ascending
+order. Accepts the
+.B --simple-output
+flag.
+.TP
+\fBlatest\fP \fIpkg-id\fP
+Prints the highest registered version of a package.
+.TP
+.B check
+Check the consistency of package dependencies and list broken
+packages. Accepts the
+.B --simple-output
+flag.
+.TP
+\fBdescribe\fP \fIpkg\fP
+Give the registered description for the
+specified package. The description is returned in precisely the syntax
+required by ghc-pkg register.
+.TP
+\fBfield\fP \fIpkg field\fP
+Extract the specified field of the package description for the
+specified package. Accepts comma-separated multiple fields.
+.TP
+.B dump
+Dump the registered description for every package. This is like
+.BR ghc-pkg\ describe\ '*' ,
+expect that it is intended to be used by tools that parse the results,
+rather than humans.
+.TP
+.B recache
+Regenerate the package database cache. This command should only be
+necessary if you added a package to the database by dropping a file
+into the database directory manyally. By default, the global DB is
+recached; to recache a different DB use
+.B --user
+or
+.B --package-conf
+as appropriate.
+.SH OPTIONS
+When asked to modify a database
+.RB ( register ,\ unregister ,\ update ,\ hide ,\ expose ,\ and\ also\ check ),
+.B ghc-pkg
+modifies the global database by
+default. Specifying
+.B --user
+causes it to act on the user database,
+or
+.B --package-conf
+can be used to act on another database
+entirely. When multiple of these options are given, the rightmost
+one is used as the database to act upon.
+.PP
+Commands that query the package database
+.RB ( list ,\ latest ,\ describe ,\ field )
+operate on the list of databases specified by the flags
+.BR --user ,\ --global ,
+and
+.BR --package-conf .
+If none of these flags are
+given, the default is
+.BR --global\ --user .
+.TP
+.B --user
+Use the current user's package database.
+.TP
+.B --global
+Use the global package database.
+.TP
+\fB-f\fP \fIFILE\fP, \fB--package-conf=\fIFILE\fP
+Use the specified package config file.
+.TP
+.BI --global-conf= FILE
+Location of the global package config.
+.TP
+.B --force
+Ignore missing dependencies, directories, and libraries.
+.TP
+.B --force-files
+Ignore missing directories and libraries only.
+.TP
+.BR -g ,\ --auto-ghc-libs
+Automatically build libs for GHCi (with register).
+.TP
+.BR -? ,\ --help
+Display a help message and exit.
+.TP
+.BR -V ,\ --version
+Output version information and exit.
+.TP
+.B --simple-output
+Print output in easy-to-parse format for some commands.
+.TP
+.B --names-only
+Only print package names, not versions; can only be used with
+.BR list\ --simple-output .
+.TP
+.B --ignore-case
+Ignore case for substring matching.
+.SH ENVIRONMENT VARIABLES
+.TP
+.B GHC_PACKAGE_PATH
+The
+.B GHC_PACKAGE_PATH
+environment variable may be set to a
+.BR : -separated
+list of files containing package databases. This list of package
+databases is used by
+.B ghc
+and
+.BR ghc-pkg ,
+with earlier databases in the list overriding later ones. This order
+was chosen to match the behaviour of the
+.B PATH
+environment variable; think of it as a list of package databases that
+are searched left-to-right for packages.
+
+If
+.B GHC_PACKAGE_PATH
+ends in a separator, then the default user and system package
+databases are appended, in that order. e.g. to augment the usual set
+of packages with a database of your own, you could say:
+
+.br
+\fB export GHC_PACKAGE_PATH=$HOME/.my-ghc-packages.conf:\fP
+.br
+
+To check whether your
+.B GHC_PACKAGE_PATH
+setting is doing the right thing,
+.B ghc-pkg list
+will list all the databases in use, in the reverse order they are
+searched.
+.SH FILES
+Both of these locations are changed for Debian. Upstream still keeps
+these under
+.IR /usr .
+Some programs may refer to that, but look in
+.I /var
+instead.
+.TP
+.I /var/lib/ghc/package.conf
+Global package.conf file.
+.TP
+.I /var/lib/ghc/package.conf.d/
+Directory for library specific package.conf files. These are added to
+the global registry.
+.SH "SEE ALSO"
+.BR ghc (1),
+.BR runghc (1),
+.BR hugs (1).
+.SH AUTHOR
+This manual page was written by Kari Pahula <kaol(a)debian.org>, for the
+Debian project (and may be used by others).
diff --git a/ghc-warnings.mk-CC-Wall.patch b/ghc-warnings.mk-CC-Wall.patch
new file mode 100644
index 0000000..f775eb3
--- /dev/null
+++ b/ghc-warnings.mk-CC-Wall.patch
@@ -0,0 +1,12 @@
+--- ghc-8.4.3/mk/warnings.mk~ 2018-02-04 02:30:11.000000000 +0900
++++ ghc-8.4.3/mk/warnings.mk 2018-09-29 14:33:37.607884921 +0900
+@@ -1,6 +1,6 @@
+ # See Note [Order of warning flags].
+-SRC_CC_OPTS += -Wall $(WERROR)
++#SRC_CC_OPTS += -Wall $(WERROR)
+ SRC_HC_OPTS += -Wall
+ # Don't add -Werror to SRC_HC_OPTS_STAGE0 (or SRC_HC_OPTS), because otherwise
+ # validate may unnecessarily fail when booting with an older compiler.
+ # It would be better to only exclude certain warnings from becoming errors
+
+Diff finished. Sat Sep 29 14:35:43 2018
diff --git a/ghc9.6.spec b/ghc9.6.spec
new file mode 100644
index 0000000..ff558bb
--- /dev/null
+++ b/ghc9.6.spec
@@ -0,0 +1,980 @@
+# disable prof, docs, perf build
+# bcond_with for production builds: disable quick build
+%bcond_with quickbuild
+
+# make sure ghc libraries' ABI hashes unchanged
+%bcond_with abicheck
+
+# bcond_without for production builds: use Hadrian buildsystem
+%bcond_without hadrian
+
+# bcond_without for production builds: build hadrian
+%bcond_without build_hadrian
+
+%global ghc_major 9.6
+%global ghc_name ghc%{ghc_major}
+
+# to handle RCs
+%global ghc_release 9.6.1-alpha1
+
+%global base_ver 4.18.0.0
+%global ghc_compact_ver 0.1.0.0
+%global hpc_ver 0.6.2.0
+%global rts_ver 1.0.2
+%global xhtml_ver 3000.2.2.1
+
+# bootstrap needs 9.2+
+%global ghcboot_major 9.2
+%global ghcboot ghc%{ghcboot_major}
+
+# build profiling libraries
+# build haddock
+# perf production build (disable for quick build)
+%if %{with quickbuild}
+%undefine with_ghc_prof
+%undefine with_haddock
+%bcond_with perf_build
+%else
+%bcond_without ghc_prof
+# https://gitlab.haskell.org/ghc/ghc/-/issues/19754
+# https://github.com/haskell/haddock/issues/1384
+%ifarch armv7hl
+%undefine with_haddock
+%else
+%if %{with hadrian}
+%bcond_without haddock
+%bcond_without manual
+%else
+%ifarch s390x
+%if %{defined fedora}
+%bcond_without haddock
+%else
+%undefine with_haddock
+%endif
+%else
+%bcond_without haddock
+%endif
+%endif
+%endif
+%bcond_without perf_build
+%endif
+
+%if %{without hadrian}
+# locked together since disabling haddock causes no manuals built
+# and disabling haddock still created index.html
+# https://gitlab.haskell.org/ghc/ghc/-/issues/15190
+%{?with_haddock:%bcond_without manual}
+%endif
+
+# no longer build testsuite (takes time and not really being used)
+%bcond_with testsuite
+
+# 9.6 needs llvm 10-13
+# rhel9 binutils too old for llvm13:
+# https://bugzilla.redhat.com/show_bug.cgi?id=2141054
+# https://gitlab.haskell.org/ghc/ghc/-/issues/22427
+%global llvm_major 13
+%if %{with hadrian}
+%global ghc_llvm_archs armv7hl s390x
+%global ghc_unregisterized_arches s390 %{mips} riscv64
+%else
+%global ghc_llvm_archs armv7hl
+%global ghc_unregisterized_arches s390 s390x %{mips} riscv64
+%endif
+
+Name: %{ghc_name}
+Version: 9.6.0.20230111
+# Since library subpackages are versioned:
+# - release can only be reset if *all* library versions get bumped simultaneously
+# (sometimes after a major release)
+# - minor release numbers for a branch should be incremented monotonically
+Release: 1%{?dist}
+Summary: Glasgow Haskell Compiler
+
+License: BSD and HaskellReport
+URL: https://haskell.org/ghc/
+Source0: https://downloads.haskell.org/ghc/%{ghc_release}/ghc-%{version}-src.tar.lz
+%if %{with testsuite}
+Source1: https://downloads.haskell.org/ghc/%{ghc_release}/ghc-%{version}-testsuite...
+%endif
+Source5: ghc-pkg.man
+Source6: haddock.man
+Source7: runghc.man
+
+# https://bugzilla.redhat.com/show_bug.cgi?id=2083103
+ExcludeArch: armv7hl
+
+# absolute haddock path (was for html/libraries -> libraries)
+Patch1: ghc-gen_contents_index-haddock-path.patch
+Patch2: ghc-Cabal-install-PATH-warning.patch
+Patch3: ghc-gen_contents_index-nodocs.patch
+Patch8: ghc-configure-c99.patch
+
+# arm patches
+Patch12: ghc-armv7-VFPv3D16--NEON.patch
+# https://github.com/haskell/text/issues/396
+# reverts https://github.com/haskell/text/pull/405
+Patch13: text2-allow-ghc8-arm.patch
+
+# for unregisterized
+# https://gitlab.haskell.org/ghc/ghc/-/issues/15689
+Patch15: ghc-warnings.mk-CC-Wall.patch
+Patch16: ghc-hadrian-s390x-rts--qg.patch
+
+# Debian patches:
+Patch24: buildpath-abi-stability.patch
+Patch26: no-missing-haddock-file-warning.patch
+Patch27: haddock-remove-googleapis-fonts.patch
+
+# fedora ghc has been bootstrapped on
+# %%{ix86} x86_64 ppc ppc64 armv7hl s390 s390x ppc64le aarch64
+# see also deprecated ghc_arches defined in ghc-srpm-macros
+# /usr/lib/rpm/macros.d/macros.ghc-srpm
+
+BuildRequires: %{ghcboot}-compiler
+# for ABI hash checking
+%if %{with abicheck}
+BuildRequires: %{name}
+%endif
+BuildRequires: ghc-rpm-macros-extra >= 2.5.0
+BuildRequires: %{ghcboot}-array-devel
+BuildRequires: %{ghcboot}-binary-devel
+BuildRequires: %{ghcboot}-bytestring-devel
+BuildRequires: %{ghcboot}-containers-devel
+BuildRequires: %{ghcboot}-deepseq-devel
+BuildRequires: %{ghcboot}-directory-devel
+BuildRequires: %{ghcboot}-filepath-devel
+BuildRequires: %{ghcboot}-ghc-boot-th-devel
+BuildRequires: %{ghcboot}-pretty-devel
+BuildRequires: %{ghcboot}-process-devel
+BuildRequires: %{ghcboot}-stm-devel
+BuildRequires: %{ghcboot}-template-haskell-devel
+%if %{without hadrian}
+BuildRequires: %{ghcboot}-text-devel
+%endif
+BuildRequires: %{ghcboot}-time-devel
+BuildRequires: %{ghcboot}-transformers-devel
+BuildRequires: %{ghcboot}-unix-devel
+BuildRequires: alex
+BuildRequires: gmp-devel
+BuildRequires: happy
+BuildRequires: libffi-devel
+BuildRequires: lzip
+BuildRequires: make
+BuildRequires: gcc-c++
+# for terminfo
+BuildRequires: ncurses-devel
+BuildRequires: perl-interpreter
+BuildRequires: python3
+%if %{with manual}
+BuildRequires: python3-sphinx
+%endif
+%ifarch %{ghc_llvm_archs}
+BuildRequires: llvm%{llvm_major}
+%endif
+%if %{with hadrian}
+# needed for binary-dist-dir
+BuildRequires: autoconf automake
+%if %{with build_hadrian}
+BuildRequires: ghc-Cabal-static
+BuildRequires: ghc-QuickCheck-static
+BuildRequires: ghc-base-static
+BuildRequires: ghc-bytestring-static
+BuildRequires: ghc-containers-static
+BuildRequires: ghc-directory-static
+BuildRequires: ghc-extra-static
+BuildRequires: ghc-filepath-static
+BuildRequires: ghc-mtl-static
+BuildRequires: ghc-parsec-static
+BuildRequires: ghc-shake-static
+BuildRequires: ghc-stm-static
+BuildRequires: ghc-transformers-static
+BuildRequires: ghc-unordered-containers-static
+%else
+BuildRequires: %{name}-hadrian
+%endif
+%else
+%ifarch armv7hl
+# patch12
+BuildRequires: autoconf automake
+%endif
+%endif
+Requires: %{name}-compiler = %{version}-%{release}
+Requires: %{name}-devel = %{version}-%{release}
+Requires: %{name}-ghc-devel = %{version}-%{release}
+Requires: %{name}-ghc-boot-devel = %{version}-%{release}
+Requires: %{name}-ghc-compact-devel = %{ghc_compact_ver}-%{release}
+Requires: %{name}-ghc-heap-devel = %{version}-%{release}
+Requires: %{name}-ghci-devel = %{version}-%{release}
+Requires: %{name}-hpc-devel = %{hpc_ver}-%{release}
+Requires: %{name}-libiserv-devel = %{version}-%{release}
+%if %{with haddock}
+Suggests: %{name}-doc = %{version}-%{release}
+Suggests: %{name}-doc-index = %{version}-%{release}
+%endif
+%if %{with manual}
+Suggests: %{name}-manual = %{version}-%{release}
+%endif
+%if %{with ghc_prof}
+Suggests: %{name}-prof = %{version}-%{release}
+%endif
+Recommends: %{name}-compiler-default = %{version}-%{release}
+
+%description
+GHC is a state-of-the-art, open source, compiler and interactive environment
+for the functional language Haskell. Highlights:
+
+- GHC supports the entire Haskell 2010 language plus a wide variety of
+ extensions.
+- GHC has particularly good support for concurrency and parallelism,
+ including support for Software Transactional Memory (STM).
+- GHC generates fast code, particularly for concurrent programs.
+ Take a look at GHC's performance on The Computer Language Benchmarks Game.
+- GHC works on several platforms including Windows, Mac, Linux,
+ most varieties of Unix, and several different processor architectures.
+- GHC has extensive optimisation capabilities, including inter-module
+ optimisation.
+- GHC compiles Haskell code either directly to native code or using LLVM
+ as a back-end. GHC can also generate C code as an intermediate target for
+ porting to new platforms. The interactive environment compiles Haskell to
+ bytecode, and supports execution of mixed bytecode/compiled programs.
+- Profiling is supported, both by time/allocation and various kinds of heap
+ profiling.
+- GHC comes with several libraries, and thousands more are available on Hackage.
+
+
+%package compiler
+Summary: GHC compiler and utilities
+License: BSD
+Requires: gcc%{?_isa}
+Requires: %{name}-base-devel%{?_isa} = %{base_ver}-%{release}
+%if %{with haddock}
+Requires: %{name}-filesystem = %{version}-%{release}
+%else
+Obsoletes: %{name}-doc-index < %{version}-%{release}
+Obsoletes: %{name}-filesystem < %{version}-%{release}
+Obsoletes: %{name}-xhtml < %{xhtml_ver}-%{release}
+Obsoletes: %{name}-xhtml-devel < %{xhtml_ver}-%{release}
+Obsoletes: %{name}-xhtml-doc < %{xhtml_ver}-%{release}
+Obsoletes: %{name}-xhtml-prof < %{xhtml_ver}-%{release}
+%endif
+%ifarch %{ghc_llvm_archs}
+Requires: llvm%{llvm_major}
+%endif
+
+%description compiler
+The package contains the GHC compiler, tools and utilities.
+
+The ghc libraries are provided by %{name}-devel.
+To install all of ghc (including the ghc library),
+install the main ghc package.
+
+
+%package compiler-default
+Summary: Makes %{name} default ghc
+Requires: %{name}-compiler%{?_isa} = %{version}-%{release}
+Conflicts: ghc-compiler
+
+%description compiler-default
+The package contains symlinks to make %{name} the default GHC compiler.
+
+
+%if %{with haddock} || (%{with hadrian} && %{with manual})
+%package doc
+Summary: Haskell library documentation meta package
+License: BSD
+
+%description doc
+Installing this package causes %{name}-*-doc packages corresponding to
+%{name}-*-devel packages to be automatically installed too.
+
+
+%package doc-index
+Summary: GHC library documentation indexing
+License: BSD
+Requires: %{name}-compiler = %{version}-%{release}
+BuildArch: noarch
+
+%description doc-index
+The package enables re-indexing of installed library documention.
+
+
+%package filesystem
+Summary: Shared directories for Haskell documentation
+BuildArch: noarch
+
+%description filesystem
+This package provides some common directories used for
+Haskell libraries documentation.
+%endif
+
+
+%if %{with manual}
+%package manual
+Summary: GHC manual
+License: BSD
+BuildArch: noarch
+Requires: %{name}-filesystem = %{version}-%{release}
+
+%description manual
+This package provides the User Guide and Haddock manual.
+%endif
+
+
+# ghclibdir also needs ghc_version_override for bootstrapping
+%global ghc_version_override %{version}
+
+%if %{with hadrian}
+%package hadrian
+Summary: GHC Hadrian buildsystem tool
+License: MIT
+Version: 0.1.0.0
+
+%description hadrian
+This provides the hadrian tool which can be used to build ghc.
+%endif
+
+%global BSDHaskellReport %{quote:BSD and HaskellReport}
+
+# use "./libraries-versions.sh" to check versions
+%if %{defined ghclibdir}
+%ghc_lib_subpackage -d -l BSD Cabal-3.9.0.0
+%ghc_lib_subpackage -d -l BSD Cabal-syntax-3.9.0.0
+%ghc_lib_subpackage -d -l %BSDHaskellReport array-0.5.4.0
+%ghc_lib_subpackage -d -l %BSDHaskellReport -c gmp-devel%{?_isa},libffi-devel%{?_isa} base-%{base_ver}
+%ghc_lib_subpackage -d -l BSD binary-0.8.9.1
+%ghc_lib_subpackage -d -l BSD bytestring-0.11.3.1
+%ghc_lib_subpackage -d -l %BSDHaskellReport containers-0.6.6
+%ghc_lib_subpackage -d -l %BSDHaskellReport deepseq-1.4.8.0
+%ghc_lib_subpackage -d -l %BSDHaskellReport directory-1.3.8.0
+%ghc_lib_subpackage -d -l %BSDHaskellReport exceptions-0.10.5
+%ghc_lib_subpackage -d -l BSD filepath-1.4.100.0
+# in ghc not ghc-libraries:
+%ghc_lib_subpackage -d -x ghc-%{ghc_version_override}
+# see below for ghc-bignum
+%ghc_lib_subpackage -d -x -l BSD ghc-boot-%{ghc_version_override}
+%ghc_lib_subpackage -d -l BSD ghc-boot-th-%{ghc_version_override}
+%ghc_lib_subpackage -d -x -l BSD ghc-compact-%{ghc_compact_ver}
+%ghc_lib_subpackage -d -x -l BSD ghc-heap-%{ghc_version_override}
+# see below for ghc-prim
+%ghc_lib_subpackage -d -x -l BSD ghci-%{ghc_version_override}
+%ghc_lib_subpackage -d -l BSD haskeline-0.8.2
+%ghc_lib_subpackage -d -x -l BSD hpc-%{hpc_ver}
+# see below for integer-gmp
+%ghc_lib_subpackage -d -x -l %BSDHaskellReport libiserv-%{ghc_version_override}
+%ghc_lib_subpackage -d -l BSD mtl-2.3.1
+%ghc_lib_subpackage -d -l BSD parsec-3.1.15.1
+%ghc_lib_subpackage -d -l BSD pretty-1.1.3.6
+%ghc_lib_subpackage -d -l %BSDHaskellReport process-1.6.16.0
+# see below for rts
+%ghc_lib_subpackage -d -l BSD stm-2.5.1.0
+%ghc_lib_subpackage -d -l BSD template-haskell-2.19.0.0
+%ghc_lib_subpackage -d -l BSD -c ncurses-devel%{?_isa} terminfo-0.4.1.5
+%ghc_lib_subpackage -d -l BSD text-2.0.1
+%ghc_lib_subpackage -d -l BSD time-1.12.2
+%ghc_lib_subpackage -d -l BSD transformers-0.6.0.4
+%ghc_lib_subpackage -d -l BSD unix-2.8.0.0
+%if %{with haddock} || %{with hadrian}
+%ghc_lib_subpackage -d -l BSD xhtml-%{xhtml_ver}
+%endif
+%endif
+
+%global version %{ghc_version_override}
+
+%package devel
+Summary: GHC development libraries meta package
+License: BSD and HaskellReport
+Requires: %{name}-compiler = %{version}-%{release}
+Obsoletes: %{name}-libraries < %{version}-%{release}
+Provides: %{name}-libraries = %{version}-%{release}
+%{?ghc_packages_list:Requires: %(echo %{ghc_packages_list} | sed -e "s/\([^ ]*\)-\([^ ]*\)/%{name}-\1-devel = \2-%{release},/g")}
+
+%description devel
+This is a meta-package for all the development library packages in GHC
+except the ghc library, which is installed by the toplevel ghc metapackage.
+
+
+%if %{with ghc_prof}
+%package prof
+Summary: GHC profiling libraries meta package
+License: BSD
+Requires: %{name}-compiler = %{version}-%{release}
+
+%description prof
+Installing this package causes %{name}-*-prof packages corresponding to
+%{name}-*-devel packages to be automatically installed too.
+%endif
+
+
+%prep
+%setup -q -n ghc-%{version} %{?with_testsuite:-b1}
+
+%patch1 -p1 -b .orig
+%patch3 -p1 -b .orig
+
+%patch2 -p1 -b .orig
+%patch8 -p1 -b .orig
+
+rm libffi-tarballs/libffi-*.tar.gz
+
+%ifarch armv7hl
+%patch12 -p1 -b .orig
+%endif
+%ifarch aarch64 armv7hl
+%patch13 -p1 -b .orig
+%endif
+
+# remove s390x after complete switching to llvm
+%ifarch %{ghc_unregisterized_arches} s390x
+%patch15 -p1 -b .orig
+%patch16 -p1 -b .orig
+%endif
+
+#debian
+#%%patch24 -p1 -b .orig
+%patch26 -p1 -b .orig
+%patch27 -p1 -b .orig
+
+%if %{with haddock} && %{without hadrian}
+%global gen_contents_index gen_contents_index.orig
+if [ ! -f "libraries/%{gen_contents_index}" ]; then
+ echo "Missing libraries/%{gen_contents_index}, needed at end of %%install!"
+ exit 1
+fi
+%endif
+
+%if %{without hadrian}
+# https://gitlab.haskell.org/ghc/ghc/-/wikis/platforms
+cat > mk/build.mk << EOF
+%if %{with perf_build}
+%ifarch %{ghc_llvm_archs}
+BuildFlavour = perf-llvm
+%else
+BuildFlavour = perf
+%endif
+%else
+%ifarch %{ghc_llvm_archs}
+BuildFlavour = quick-llvm
+%else
+BuildFlavour = quick
+%endif
+%endif
+GhcLibWays = v dyn %{?with_ghc_prof:p}
+%if %{with haddock}
+HADDOCK_DOCS = YES
+EXTRA_HADDOCK_OPTS += --hyperlinked-source --hoogle --quickjump
+%else
+HADDOCK_DOCS = NO
+%endif
+%if %{with manual}
+BUILD_MAN = YES
+BUILD_SPHINX_HTML = YES
+%else
+BUILD_MAN = NO
+BUILD_SPHINX_HTML = NO
+%endif
+BUILD_SPHINX_PDF = NO
+EOF
+%endif
+
+
+%build
+# patch5 and patch12
+autoupdate
+
+%ghc_set_gcc_flags
+export CC=%{_bindir}/gcc
+# lld breaks build-id
+# /usr/bin/debugedit: Cannot handle 8-byte build ID
+# https://bugzilla.redhat.com/show_bug.cgi?id=2116508
+# https://gitlab.haskell.org/ghc/ghc/-/issues/22195
+export LD=%{_bindir}/ld.gold
+
+export GHC=%{_bindir}/ghc-%{ghcboot_major}
+
+# * %%configure induces cross-build due to different target/host/build platform names
+./configure --prefix=%{_prefix} --exec-prefix=%{_exec_prefix} \
+ --bindir=%{_bindir} --sbindir=%{_sbindir} --sysconfdir=%{_sysconfdir} \
+ --datadir=%{_datadir} --includedir=%{_includedir} --libdir=%{_libdir} \
+ --libexecdir=%{_libexecdir} --localstatedir=%{_localstatedir} \
+ --sharedstatedir=%{_sharedstatedir} --mandir=%{_mandir} \
+ --docdir=%{_docdir}/%{name} \
+ --with-system-libffi \
+%ifarch %{ghc_unregisterized_arches}
+ --enable-unregisterised \
+%endif
+%{nil}
+
+# avoid "ghc: hGetContents: invalid argument (invalid byte sequence)"
+export LANG=C.utf8
+%if %{with hadrian}
+%if %{defined _ghcdynlibdir}
+%undefine _ghcdynlibdir
+%endif
+
+%if %{with build_hadrian}
+# do not disable debuginfo with ghc_bin_build
+%global ghc_debuginfo 1
+(
+cd hadrian
+%ghc_bin_build -W
+)
+%global hadrian hadrian/dist/build/hadrian/hadrian
+%else
+%global hadrian %{_bindir}/hadrian-%{ghc_major}
+%endif
+
+%ifarch %{ghc_llvm_archs}
+%global hadrian_llvm +llvm
+%endif
+%define hadrian_docs %{!?with_haddock:--docs=no-haddocks} %{!?with_manual:--docs=no-sphinx}%{?with_manual:--docs=no-sphinx-pdfs --docs=no-sphinx-man}
+# quickest does not build shared libs
+# try release instead of perf
+%{hadrian} %{?_smp_mflags} --flavour=%{?with_quickbuild:quick+no_profiled_libs}%{!?with_quickbuild:perf%{!?with_ghc_prof:+no_profiled_libs}}%{?hadrian_llvm} %{hadrian_docs} binary-dist-dir
+%else
+# https://gitlab.haskell.org/ghc/ghc/-/issues/22099
+# 48 cpus breaks build: Error: ghc-cabal: Encountered missing or private dependencies: rts >=1.0 && <1.1
+%global _smp_ncpus_max 16
+make %{?_smp_mflags}
+%endif
+
+
+%install
+%if %{with hadrian}
+%if %{with build_hadrian}
+(
+cd hadrian
+%ghc_bin_install
+rm %{buildroot}%{_ghclicensedir}/%{name}/LICENSE
+cp -p LICENSE ../LICENSE.hadrian
+)
+%endif
+# https://gitlab.haskell.org/ghc/ghc/-/issues/20120#note_366872
+(
+cd _build/bindist/ghc-%{version}-*
+./configure --prefix=%{buildroot}%{ghclibdir} --bindir=%{buildroot}%{_bindir} --libdir=%{buildroot}%{_libdir} --mandir=%{buildroot}%{_mandir} --docdir=%{buildroot}%{_docdir}/%{name}
+make install
+)
+%else
+make DESTDIR=%{buildroot} install
+%if %{defined _ghcdynlibdir}
+mv %{buildroot}%{ghclibdir}/*/libHS*ghc%{ghc_version}.so %{buildroot}%{_ghcdynlibdir}/
+for i in %{buildroot}%{ghclibdir}/package.conf.d/*.conf; do
+ sed -i -e 's!^dynamic-library-dirs: .*!dynamic-library-dirs: %{_ghcdynlibdir}!' $i
+done
+sed -i -e 's!^library-dirs: %{ghclibdir}/rts!&\ndynamic-library-dirs: %{_ghcdynlibdir}!' %{buildroot}%{ghclibdir}/package.conf.d/rts.conf
+%endif
+%endif
+
+%if %{defined _ghcdynlibdir}
+%if "%_ghcdynlibdir" != "%_libdir"
+mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d
+echo "%{ghclibplatform}" > %{buildroot}%{_sysconfdir}/ld.so.conf.d/%{name}.conf
+%endif
+# avoid 'E: binary-or-shlib-defines-rpath'
+for i in $(find %{buildroot} -type f -executable -exec sh -c "file {} | grep -q 'dynamically linked'" \; -print); do
+ chrpath -d $i
+done
+%endif
+
+# containers src moved to a subdir
+cp -p libraries/containers/containers/LICENSE libraries/containers/LICENSE
+# hack for Cabal-syntax/LICENSE
+mkdir -p libraries/Cabal-syntax
+cp -p libraries/Cabal/Cabal-syntax/LICENSE libraries/Cabal-syntax
+
+rm -f %{name}-*.files
+
+# FIXME replace with ghc_subpackages_list
+for i in %{ghc_packages_list}; do
+name=$(echo $i | sed -e "s/\(.*\)-.*/\1/")
+ver=$(echo $i | sed -e "s/.*-\(.*\)/\1/")
+%ghc_gen_filelists $name $ver
+echo "%%license libraries/$name/LICENSE" >> %{name}-$name.files
+done
+
+echo "%%dir %{ghclibdir}" >> %{name}-base%{?_ghcdynlibdir:-devel}.files
+
+%ghc_gen_filelists ghc %{ghc_version_override}
+%ghc_gen_filelists ghc-boot %{ghc_version_override}
+%ghc_gen_filelists ghc-compact %{ghc_compact_ver}
+%ghc_gen_filelists ghc-heap %{ghc_version_override}
+%ghc_gen_filelists ghci %{ghc_version_override}
+%ghc_gen_filelists hpc %{hpc_ver}
+%ghc_gen_filelists libiserv %{ghc_version_override}
+
+%ghc_gen_filelists ghc-bignum 1.3
+%ghc_gen_filelists ghc-prim 0.10.0
+%ghc_gen_filelists integer-gmp 1.1
+%if %{with hadrian}
+%ghc_gen_filelists rts %{rts_ver}
+%endif
+
+%define merge_filelist()\
+cat %{name}-%1.files >> %{name}-%2.files\
+cat %{name}-%1-devel.files >> %{name}-%2-devel.files\
+%if %{defined ghc_devel_prof}\
+cat %{name}-%1-doc.files >> %{name}-%2-doc.files\
+cat %{name}-%1-prof.files >> %{name}-%2-prof.files\
+%endif\
+if [ "%1" != "rts" ]; then\
+cp -p libraries/%1/LICENSE libraries/LICENSE.%1\
+echo "%%license libraries/LICENSE.%1" >> %{name}-%2.files\
+fi\
+%{nil}
+
+%merge_filelist ghc-bignum base
+%merge_filelist ghc-prim base
+%merge_filelist integer-gmp base
+%if %{with hadrian}
+%merge_filelist rts base
+%endif
+
+%if %{defined _ghcdynlibdir}
+%if "%_ghcdynlibdir" != "%_libdir"
+echo "%{_sysconfdir}/ld.so.conf.d/%{name}.conf" >> %{name}-base.files
+%endif
+%endif
+
+# add rts libs
+%if %{with hadrian}
+for i in %{buildroot}%{ghclibplatform}/libHSrts*ghc%{ghc_version}.so; do
+if [ "$(basename $i)" != "libHSrts-%{rts_ver}-ghc%{ghc_version}.so" ]; then
+echo $i >> %{name}-base.files
+fi
+done
+%else
+%if %{defined _ghcdynlibdir}
+echo "%{ghclibdir}/rts" >> %{name}-base-devel.files
+%else
+echo "%%dir %{ghclibdir}/rts" >> %{name}-base.files
+ls -d %{buildroot}%{ghclibdir}/rts/lib*.a >> %{name}-base-devel.files
+%endif
+ls %{buildroot}%{?_ghcdynlibdir}%{!?_ghcdynlibdir:%{ghclibdir}/rts}/libHSrts*.so >> %{name}-base.files
+%if %{defined _ghcdynlibdir}
+sed -i -e 's!^library-dirs: %{ghclibdir}/rts!&\ndynamic-library-dirs: %{_libdir}!' %{buildroot}%{ghclibdir}/package.conf.d/rts.conf
+%endif
+ls -d %{buildroot}%{ghclibdir}/package.conf.d/rts.conf >> %{name}-base-devel.files
+%endif
+
+if [ -f %{buildroot}%{ghcliblib}/package.conf.d/system-cxx-std-lib-1.0.conf ]; then
+ls -d %{buildroot}%{ghcliblib}/package.conf.d/system-cxx-std-lib-1.0.conf >> %{name}-base-devel.files
+fi
+
+%if %{with ghc_prof}
+ls %{buildroot}%{ghclibdir}/bin/ghc-iserv-prof* >> %{name}-base-prof.files
+%if %{with hadrian}
+ls %{buildroot}%{ghcliblib}/bin/ghc-iserv-prof >> %{name}-base-prof.files
+%endif
+%endif
+
+sed -i -e "s|^%{buildroot}||g" %{name}-base*.files
+%if %{with hadrian}
+sed -i -e "s|%{buildroot}||g" %{buildroot}%{_bindir}/*
+%endif
+
+%if %{with haddock} && %{without hadrian}
+# generate initial lib doc index
+cd libraries
+sh %{gen_contents_index} --intree --verbose
+cd ..
+%endif
+
+%if %{with hadrian}
+%if %{with haddock}
+rm %{buildroot}%{_pkgdocdir}/archives/libraries.html.tar.xz
+%endif
+%if %{with manual}
+rm %{buildroot}%{_pkgdocdir}/archives/Haddock.html.tar.xz
+rm %{buildroot}%{_pkgdocdir}/archives/users_guide.html.tar.xz
+%endif
+%endif
+
+# we package the library license files separately
+%if %{without hadrian}
+find %{buildroot}%{ghc_html_libraries_dir} -name LICENSE -exec rm '{}' ';'
+%endif
+
+mkdir -p %{buildroot}%{_mandir}/man1
+install -p -m 0644 %{SOURCE5} %{buildroot}%{_mandir}/man1/ghc-pkg.1
+install -p -m 0644 %{SOURCE6} %{buildroot}%{_mandir}/man1/haddock.1
+install -p -m 0644 %{SOURCE7} %{buildroot}%{_mandir}/man1/runghc.1
+
+%ifarch armv7hl
+export RPM_BUILD_NCPUS=1
+%endif
+
+%if %{with hadrian}
+%if %{with build_hadrian}
+mv %{buildroot}%{_bindir}/hadrian{,-%{ghc_major}}
+%endif
+%else
+for i in hp2ps hpc hsc2hs runhaskell; do
+ mv %{buildroot}%{_bindir}/$i{,-%{version}}
+ ln -s $i-%{version} %{buildroot}%{_bindir}/$i
+done
+%endif
+
+%if %{with hadrian}
+rm %{buildroot}%{ghcliblib}/package.conf.d/.stamp
+rm %{buildroot}%{ghcliblib}/package.conf.d/*.conf.copy
+
+(cd %{buildroot}%{ghcliblib}/bin
+for i in *; do
+if [ -f %{buildroot}%{ghclibdir}/bin/$i ]; then
+ln -sf ../../bin/$i
+fi
+done
+)
+%endif
+
+(
+cd %{buildroot}%{_bindir}
+for i in *; do
+ case $i in
+ *-%{version}) ;;
+ *)
+ if [ -f $i-%{version} ]; then
+ ln -s $i-%{version} $i-%{ghc_major}
+ fi
+ esac
+done
+)
+
+
+%check
+export LANG=C.utf8
+# stolen from ghc6/debian/rules:
+%if %{with hadrian}
+export LD_LIBRARY_PATH=%{buildroot}%{ghclibplatform}:
+GHC=%{buildroot}%{ghclibdir}/bin/ghc
+%else
+GHC=inplace/bin/ghc-stage2
+%endif
+# Do some very simple tests that the compiler actually works
+rm -rf testghc
+mkdir testghc
+echo 'main = putStrLn "Foo"' > testghc/foo.hs
+$GHC testghc/foo.hs -o testghc/foo
+[ "$(testghc/foo)" = "Foo" ]
+rm testghc/*
+echo 'main = putStrLn "Foo"' > testghc/foo.hs
+$GHC testghc/foo.hs -o testghc/foo -O2
+[ "$(testghc/foo)" = "Foo" ]
+rm testghc/*
+echo 'main = putStrLn "Foo"' > testghc/foo.hs
+$GHC testghc/foo.hs -o testghc/foo -dynamic
+[ "$(testghc/foo)" = "Foo" ]
+rm testghc/*
+
+$GHC --info
+
+# check the ABI hashes
+%if %{with abicheck}
+if [ "%{version}" = "$(ghc-%{ghc_major} --numeric-version)" ]; then
+ echo "Checking package ABI hashes:"
+ for i in %{ghc_packages_list}; do
+ old=$(ghc-pkg-%{ghc_major} field $i id --simple-output || :)
+ if [ -n "$old" ]; then
+ new=$(/usr/lib/rpm/ghc-pkg-wrapper %{buildroot}%{ghclibdir} field $i id --simple-output)
+ if [ "$old" != "$new" ]; then
+ echo "ABI hash for $i changed!:" >&2
+ echo " $old -> $new" >&2
+ ghc_abi_hash_change=yes
+ else
+ echo "($old unchanged)"
+ fi
+ else
+ echo "($i not installed)"
+ fi
+ done
+ if [ "$ghc_abi_hash_change" = "yes" ]; then
+ echo "ghc ABI hash change: aborting build!" >&2
+ exit 1
+ fi
+else
+ echo "ABI hash checks skipped: GHC changed from $(ghc-%{ghc_major} --numeric-version) to %{version}"
+fi
+%endif
+
+%if %{with testsuite}
+make test
+%endif
+
+
+%if %{defined ghclibdir}
+%post base -p /sbin/ldconfig
+%postun base -p /sbin/ldconfig
+
+
+%transfiletriggerin compiler -- %{ghcliblib}/package.conf.d
+%ghc_pkg_recache
+%end
+
+%transfiletriggerpostun compiler -- %{ghcliblib}/package.conf.d
+%ghc_pkg_recache
+%end
+
+
+%if %{with haddock} && %{without hadrian}
+%transfiletriggerin doc-index -- %{ghc_html_libraries_dir}
+env -C %{ghc_html_libraries_dir} ./gen_contents_index
+%end
+
+%transfiletriggerpostun doc-index -- %{ghc_html_libraries_dir}
+env -C %{ghc_html_libraries_dir} ./gen_contents_index
+%end
+%endif
+%endif
+
+
+%files
+
+%files compiler
+%license LICENSE
+%doc README.md
+%{_bindir}/ghc-%{version}
+%{_bindir}/ghc-pkg-%{version}
+%{_bindir}/ghci-%{version}
+%{_bindir}/hp2ps-%{?with_hadrian:ghc-}%{version}
+%{_bindir}/hpc-%{?with_hadrian:ghc-}%{version}
+%{_bindir}/hsc2hs-%{?with_hadrian:ghc-}%{version}
+%{_bindir}/runghc-%{version}
+%{_bindir}/runhaskell-%{version}
+%{_bindir}/ghc-%{ghc_major}
+%{_bindir}/ghc-pkg-%{ghc_major}
+%{_bindir}/ghci-%{ghc_major}
+%{_bindir}/runghc-%{ghc_major}
+%{_bindir}/runhaskell-%{ghc_major}
+%if %{without hadrian}
+%{_bindir}/hp2ps-%{ghc_major}
+%{_bindir}/hpc-%{ghc_major}
+%{_bindir}/hsc2hs-%{ghc_major}
+%endif
+%dir %{ghclibdir}/bin
+%{ghclibdir}/bin/ghc
+%{ghclibdir}/bin/ghc-iserv
+%{ghclibdir}/bin/ghc-iserv-dyn
+%{ghclibdir}/bin/ghc-pkg
+%{ghclibdir}/bin/hpc
+%{ghclibdir}/bin/hsc2hs
+%{ghclibdir}/bin/runghc
+%{ghclibdir}/bin/hp2ps
+%{ghclibdir}/bin/unlit
+%if %{with hadrian}
+%{ghclibdir}/bin/ghc-%{version}
+%{ghclibdir}/bin/ghc-iserv-ghc-%{version}
+%{ghclibdir}/bin/ghc-iserv-dyn-ghc-%{version}
+%{ghclibdir}/bin/ghc-pkg-%{version}
+%{ghclibdir}/bin/haddock
+%{ghclibdir}/bin/haddock-ghc-%{version}
+%{ghclibdir}/bin/hp2ps-ghc-%{version}
+%{ghclibdir}/bin/hpc-ghc-%{version}
+%{ghclibdir}/bin/hsc2hs-ghc-%{version}
+%{ghclibdir}/bin/runghc-%{version}
+%{ghclibdir}/bin/runhaskell
+%{ghclibdir}/bin/runhaskell-%{version}
+%{ghclibdir}/bin/unlit-ghc-%{version}
+%dir %{ghcliblib}
+%dir %{ghcliblib}/bin
+%{ghcliblib}/bin/ghc-iserv
+%{ghcliblib}/bin/ghc-iserv-dyn
+%{ghcliblib}/bin/unlit
+%ghclibplatform
+%endif
+%{ghcliblib}/ghc-usage.txt
+%{ghcliblib}/ghci-usage.txt
+%{ghcliblib}/llvm-passes
+%{ghcliblib}/llvm-targets
+%dir %{ghcliblib}/package.conf.d
+%ghost %{ghcliblib}/package.conf.d/package.cache
+%{ghcliblib}/package.conf.d/package.cache.lock
+%{ghcliblib}/settings
+%{ghcliblib}/template-hsc.h
+%{_mandir}/man1/ghc-pkg.1*
+%{_mandir}/man1/haddock.1*
+%{_mandir}/man1/runghc.1*
+
+%if %{with hadrian} || %{with haddock}
+%{_bindir}/haddock-ghc-%{version}
+%{ghcliblib}/html
+%{ghcliblib}/latex
+%endif
+%if %{with haddock} || (%{with hadrian} && %{with manual})
+%{ghc_html_libraries_dir}/prologue.txt
+%endif
+%if %{with haddock}
+%if %{without hadrian}
+%{ghclibdir}/bin/haddock
+%endif
+%verify(not size mtime) %{ghc_html_libraries_dir}/haddock-bundle.min.js
+%verify(not size mtime) %{ghc_html_libraries_dir}/linuwial.css
+%verify(not size mtime) %{ghc_html_libraries_dir}/quick-jump.css
+%verify(not size mtime) %{ghc_html_libraries_dir}/synopsis.png
+%endif
+%if %{with manual} && %{without hadrian}
+%{_mandir}/man1/ghc.1*
+%endif
+
+%files compiler-default
+%{_bindir}/ghc
+%{_bindir}/ghc-pkg
+%{_bindir}/ghci
+%if %{with hadrian} || %{with haddock}
+%{_bindir}/haddock
+%endif
+%{_bindir}/hp2ps
+%{_bindir}/hpc
+%{_bindir}/hsc2hs
+%{_bindir}/runghc
+%{_bindir}/runhaskell
+
+%files devel
+
+%if %{with haddock} || (%{with hadrian} && %{with manual})
+%files doc
+%{ghc_html_dir}/index.html
+
+%files doc-index
+%{ghc_html_libraries_dir}/gen_contents_index
+%if %{with haddock}
+%verify(not size mtime) %{ghc_html_libraries_dir}/doc-index*.html
+%verify(not size mtime) %{ghc_html_libraries_dir}/index*.html
+%endif
+
+%files filesystem
+%dir %_ghc_doc_dir
+%dir %ghc_html_dir
+%dir %ghc_html_libraries_dir
+%endif
+
+%if %{with hadrian} && %{with build_hadrian}
+%files hadrian
+%license LICENSE.hadrian
+%{_bindir}/hadrian-%{ghc_major}
+%endif
+
+%if %{with manual}
+%files manual
+## needs pandoc
+#%%{ghc_html_dir}/Cabal
+%{ghc_html_dir}/index.html
+%{ghc_html_dir}/users_guide
+%if %{with hadrian}
+%{ghc_html_dir}/Haddock
+%else
+%if %{with haddock}
+%{ghc_html_dir}/haddock
+%endif
+%endif
+%endif
+
+%if %{with ghc_prof}
+%files prof
+%endif
+
+
+%changelog
+* Wed Jan 18 2023 Jens Petersen <petersen(a)redhat.com> - 9.6.0.20230111-1
+- 9.6.1-alpha1
+- derived from the ghc9.4 package
diff --git a/haddock-remove-googleapis-fonts.patch b/haddock-remove-googleapis-fonts.patch
new file mode 100644
index 0000000..1429063
--- /dev/null
+++ b/haddock-remove-googleapis-fonts.patch
@@ -0,0 +1,26 @@
+Description: Remove hard-coded googleapis font URL
+Bug: https://github.com/haskell/haddock/issues/1211
+Bug-Debian: https://bugs.debian.org/963690
+
+Index: b/utils/haddock/haddock-api/src/Haddock/Backends/Xhtml.hs
+===================================================================
+--- a/utils/haddock/haddock-api/src/Haddock/Backends/Xhtml.hs
++++ b/utils/haddock/haddock-api/src/Haddock/Backends/Xhtml.hs
+@@ -137,7 +137,7 @@ headHtml docTitle themes mathjax_url bas
+ , thetype "text/css"
+ , href (withBaseURL base_url quickJumpCssFile) ]
+ << noHtml
+- , thelink ! [ rel "stylesheet", thetype "text/css", href fontUrl] << noHtml
++ -- , thelink ! [ rel "stylesheet", thetype "text/css", href fontUrl] << noHtml
+ , script ! [ src (withBaseURL base_url haddockJsFile)
+ , emptyAttr "async"
+ , thetype "text/javascript" ]
+@@ -146,7 +146,7 @@ headHtml docTitle themes mathjax_url bas
+ , script ! [src mjUrl, thetype "text/javascript"] << noHtml
+ ]
+ where
+- fontUrl = "https://fonts.googleapis.com/css?family=PT+Sans:400,400i,700"
++ -- fontUrl = "https://fonts.googleapis.com/css?family=PT+Sans:400,400i,700"
+ mjUrl = fromMaybe "https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=Te..." mathjax_url
+ mjConf = unwords [ "MathJax.Hub.Config({"
+ , "tex2jax: {"
diff --git a/haddock.man b/haddock.man
new file mode 100644
index 0000000..a30106b
--- /dev/null
+++ b/haddock.man
@@ -0,0 +1,231 @@
+.TH HADDOCK 1 "July 2010" "Haddock, version 2.6.1" "Haddock documentation generator"
+
+
+.SH NAME
+haddock \- documentation tool for annotated Haskell source code
+
+
+.SH SYNOPSIS
+.B haddock
+.RI [ options ] " file" ...
+
+
+.SH DESCRIPTION
+This manual page documents briefly the
+.B haddock
+command.
+Extensive documentation is available in various other formats including DVI,
+PostScript and HTML; see below.
+
+.PP
+.I file
+is a filename containing a Haskell source module.
+All the modules specified on the command line will be processed together.
+When one module refers to an entity in another module being processed, the
+documentation will link directly to that entity.
+
+Entities that cannot be found, for example because they are in a module that
+is not being processed as part of the current batch, simply will not be
+hyperlinked in the generated documentation.
+.B haddock
+will emit warnings listing all the identifiers it could not resolve.
+
+The modules should not be mutually recursive, as
+.B haddock
+does not like swimming in circles.
+
+
+.SH OPTIONS
+The programs follow the usual GNU command line syntax, with long
+options starting with two dashes (`--').
+A summary of options is included below.
+For a complete description, see the other documentation.
+
+.TP
+\fB\-o \fIDIR\fP, \-\-odir=\fIDIR\fP
+directory in which to put the output files
+
+.TP
+\fB\-i \fIFILE\fP, \-\-read-interface=\fIFILE\fP
+read an interface from
+.IR FILE .
+
+.TP
+\fB\-D \fIFILE\fP, \-\-dump\-interface=\fIFILE\fP
+dump an interface for these modules in
+.IR FILE .
+
+.TP
+\fB\-l \fIDIR\fP, \-\-lib=\fIDIR\fP
+location of Haddock's auxiliary files
+
+.TP
+.BR \-h ", " \-\-html
+Generate documentation in HTML format.
+Several files will be generated into the current directory (or the specified
+directory if the
+.B \-o
+option is given), including the following:
+.RS
+.TP
+.I index.html
+The top level page of the documentation:
+lists the modules available, using indentation to represent the hierarchy if
+the modules are hierarchical.
+.TP
+.I haddock.css
+The stylesheet used by the generated HTML.
+Feel free to modify this to change the colors or layout, or even specify
+your own stylesheet using the
+.B \-\-css
+option.
+.TP
+.I module.html
+An HTML page for each module.
+.TP
+.IR doc-index.html ", " doc-index-XX.html
+The index, split into two (functions/constructors and types/classes, as per
+Haskell namespaces) and further split alphabetically.
+.RE
+
+.TP
+.B \-\-hoogle
+output for Hoogle
+
+.TP
+\fB\-\-html\-help=\fIformat
+produce index and table of contents in mshelp, mshelp2 or devhelp format
+(with \fI\-h\fP)
+
+.TP
+\fB\-\-source\-base=\fPURL
+Include links to the source files in the generated documentation, where URL
+is the base URL where the source files can be found.
+
+.TP
+\fB\-s \fPURL, \fB\-\-source\-module=\fPURL
+Include links to the source files in the generated documentation, where URL
+is a source code link for each module (using the %{FILE} or %{MODULE} vars).
+
+.TP
+\fB\-\-source\-entity=\fPURL
+Include links to the source files in the generated documentation, where URL
+is a source code link for each entity (using the %{FILE}, %{MODULE} or %{NAME} vars).
+
+.TP
+\fB\-\-comments\-base=\fPURL
+URL for a comments link on the contents and index pages.
+.TP
+\fB\-\-comments\-module=\fPURL
+URL for a comments link for each module (using the %{MODULE} var).
+.TP
+\fB\-\-comments\-entity=\fPURL
+URL for a comments link for each entity (using the %{FILE}, %{MODULE} or %{NAME} vars).
+.TP
+.BI \-\-css= FILE
+Use the CSS
+.I FILE
+instead of the default stylesheet that comes with
+.B haddock
+for HTML output. It should specify certain classes: see the default stylesheet for details.
+
+.TP
+\fB\-p \fIFILE\fP, \-\-prologue=\fIFILE\fP
+Specify a file containing prologue text.
+
+.TP
+\fB\-t \fITITLE\fP, \-\-title=\fITITLE\fP
+Use \fITITLE\fP as the page heading for each page in the documentation.
+This will normally be the name of the library being documented.
+
+The title should be a plain string (no markup please!).
+
+.TP
+\fB\-k \fINAME\fP, \-\-package=\fINAME\fP
+Specify the package name (optional).
+
+.TP
+.BR \-n ", " \-\-no\-implicit\-prelude
+do not assume Prelude is imported
+
+.TP
+.BR \-d ", " \-\-debug
+Enable extra debugging output.
+
+.TP
+.BR \-? ", " \-\-help
+Display help.
+
+.TP
+.BR \-V ", " \-\-version
+Display version.
+
+.TP
+.BR \-v ", " \-\-verbose
+Verbose status reporting.
+
+.TP
+\fB\-\-use\-contents=\fPURL
+Use a separately-generated HTML contents page.
+
+.TP
+.B \-\-gen\-contents
+Generate an HTML contents from specified interfaces.
+
+.TP
+\fB\-\-use\-index=\fPURL
+Use a separately-generated HTML index.
+
+.TP
+.B \-\-gen\-index
+Generate an HTML index from specified interfaces.
+
+.TP
+.B \-\-ignore\-all\-exports
+Behave as if all modules have the ignore-exports atribute
+
+.TP
+\fB\-\-hide=\fIMODULE
+Behave as if \fIMODULE\fP has the hide attribute.
+
+.TP
+\fB\-\-use\-package=\fIPACKAGE
+The modules being processed depend on \fIPACKAGE\fP.
+
+.SH FILES
+.I /usr/bin/haddock
+.br
+.I /usr/share/haddock-2.6.1/html/plus.gif
+.br
+.I /usr/share/haddock-2.6.1/html/minus.gif
+.br
+.I /usr/share/haddock-2.6.1/html/haskell_icon.gif
+.br
+.I /usr/share/haddock-2.6.1/html/haddock.js
+.br
+.I /usr/share/haddock-2.6.1/html/haddock.css
+.br
+.I /usr/share/haddock-2.6.1/html/haddock-DEBUG.css
+
+.SH SEE ALSO
+.IR /usr/share/doc/haddock/ ,
+.br
+the Haddock homepage
+.UR http://haskell.org/haddock/
+(http://haskell.org/haddock/)
+.UE
+
+.SH COPYRIGHT
+Haddock version 2.6.1
+
+Copyright 2006-2010 Simon Marlow <simonmar(a)microsoft.com>, Dawid Waern <david.waern(a)gmail.com>.
+All rights reserved.
+
+
+.SH AUTHOR
+This manual page was written by Michael Weber <michaelw(a)debian.org>
+for the Debian GNU/Linux system (but may be used by others).
+
+.\" Local variables:
+.\" mode: nroff
+.\" End:
diff --git a/libraries-versions.sh b/libraries-versions.sh
new file mode 100755
index 0000000..fccce7a
--- /dev/null
+++ b/libraries-versions.sh
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+if [ ! -d libraries ]; then
+ echo Is CWD a ghc source tree?
+ exit 1
+fi
+
+cd libraries
+
+# should handle ../rts/rts.cabal.in
+grep -i ^version: $(find * -name "*.cabal*" | LANG=C.utf8 sort) ../rts/rts.cabal.in | grep -v -e "\(Win32\|cabal-\|gmp.old\|gmp2\|integer-simple\|tests\|bench\)" -e "@ProjectVersionMunged@" | grep -e '[0-9]\.' | sed -e "s!.*/\([^/]*\).cabal:[Vv]ersion: \+!\1-!"
diff --git a/no-missing-haddock-file-warning.patch b/no-missing-haddock-file-warning.patch
new file mode 100644
index 0000000..eac921e
--- /dev/null
+++ b/no-missing-haddock-file-warning.patch
@@ -0,0 +1,22 @@
+Description: Do not emit a warning if the .haddock file is missing
+ As it is quite common on Debian installations to install the -dev package
+ without the -doc package.
+Author: Joachim Breitner <nomeata(a)debian.org>
+
+Index: ghc-8.0.2/utils/ghc-pkg/Main.hs
+===================================================================
+--- ghc-8.0.2.orig/utils/ghc-pkg/Main.hs
++++ ghc-8.0.2/utils/ghc-pkg/Main.hs
+@@ -1588,8 +1588,10 @@
+ mapM_ (checkDir True "dynamic-library-dirs") (libraryDynDirs pkg)
+ mapM_ (checkDir True "include-dirs") (includeDirs pkg)
+ mapM_ (checkDir True "framework-dirs") (frameworkDirs pkg)
+- mapM_ (checkFile True "haddock-interfaces") (haddockInterfaces pkg)
+- mapM_ (checkDirURL True "haddock-html") (haddockHTMLs pkg)
++ -- In Debian, it is quite normal that the package is installed without the
++ -- documentation. Do not print a warning there.
++ -- mapM_ (checkFile True "haddock-interfaces") (haddockInterfaces pkg)
++ -- mapM_ (checkDirURL True "haddock-html") (haddockHTMLs pkg)
+ checkDuplicateModules pkg
+ checkExposedModules db_stack pkg
+ checkOtherModules pkg
diff --git a/runghc.man b/runghc.man
new file mode 100644
index 0000000..61a9076
--- /dev/null
+++ b/runghc.man
@@ -0,0 +1,45 @@
+.TH RUNGHC 1 "28 NOVEMBER 2007"
+.SH NAME
+runghc \- program to run Haskell programs without first having to compile them.
+.SH SYNOPSIS
+.B runghc
+.RI
+[runghc|flags] [GHC|flags] module [program|flags]...
+.br
+.SH DESCRIPTION
+.B runghc
+is considered a non-interactive interpreter and part of The Glasgow Haskell Compiler.
+.B runghc
+is a compiler that automatically runs its results at the end.
+.PP
+.SH OPTIONS
+.TP
+the flags are:
+.TP
+.B \-f
+it tells runghc which GHC to use to run the program. If it is not given then runghc will search for GHC in the directories in the system search path. runghc -f /path/to/ghc
+.TP
+.B \--
+runghc will try to work out where the boundaries between [runghc flags] and [GHC flags], and [GHC flags] and module are, but you can use a -- flag if it doesn't get it right. For example, runghc -- -fglasgow-exts Foo
+means runghc won't try to use glasgow-exts as the path to GHC, but instead will pass the flag to GHC.
+
+.SH EXAMPLES
+.TP
+.B runghc foo
+.PP
+.B runghc -f /path/to/ghc foo
+.TP
+.B runghc -- -fglasgow-exts Foo
+
+.SH SEE ALSO
+.BR ghc (1),
+.BR ghci (1).
+.br
+
+.SH COPYRIGHT
+Copyright 2002, The University Court of the University of Glasgow. All rights reserved.
+
+.SH AUTHOR
+This manual page was written by Efrain Valles Pulgar <effie.jayx(a)gmail.com>. This is free documentation; see the GNU
+General Public Licence version 2 or later for copying conditions. There is NO WARRANTY.
+
diff --git a/sources b/sources
new file mode 100644
index 0000000..55c0337
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+SHA512 (ghc-9.6.0.20230111-src.tar.lz) = 721ae2bae37a7464e3d2728922a6c3c11e6df7977b391cfc3c653148cc40286d9cf89969a6ee12cf030f6afe5c99ce9028850ff9b6e75bb25179022fe9c450eb
diff --git a/text2-allow-ghc8-arm.patch b/text2-allow-ghc8-arm.patch
new file mode 100644
index 0000000..e4009a8
--- /dev/null
+++ b/text2-allow-ghc8-arm.patch
@@ -0,0 +1,12 @@
+--- ghc-9.4.0.20220501/libraries/text/text.cabal~ 2022-04-30 02:50:06.000000000 +0800
++++ ghc-9.4.0.20220501/libraries/text/text.cabal 2022-05-06 23:55:56.091521266 +0800
+@@ -121,9 +121,6 @@
+ if os(windows) && impl(ghc >= 8.2 && < 8.4 || == 8.6.3 || == 8.10.1)
+ build-depends: base < 0
+
+- -- GHC 8.10 has linking issues (probably TH-related) on ARM.
+- if (arch(aarch64) || arch(arm)) && impl(ghc == 8.10.*)
+- build-depends: base < 0
+
+ -- Subword primitives in GHC 9.2.1 are broken on ARM platforms.
+ if (arch(aarch64) || arch(arm)) && impl(ghc == 9.2.1)
1 year, 4 months
[Report] Packages Restricting Arches
by root
List of packages currently excluding arches (2464)
===========================================
- 0ad
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le
- 90-Second-Portraits
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- BareBonesBrowserLaunch
ExclusiveArch: %{java_arches} noarch
- CardManager
ExclusiveArch: %{java_arches} noarch
- GAPDoc
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- GoldenCheetah
ExclusiveArch: %{qt5_qtwebengine_arches}
- GtkAda
ExclusiveArch: %{GPRbuild_arches}
- GtkAda3
ExclusiveArch: %{GPRbuild_arches}
- IPAddress
ExclusiveArch: %{java_arches} noarch
- Mars
ExclusiveArch: %{java_arches} noarch
- OpenColorIO
ExclusiveArch: x86_64 ppc64le
- OpenImageIO
ExclusiveArch: x86_64 ppc64le
- OpenMolcas
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- OpenStego
ExclusiveArch: %{java_arches} noarch
- PragmARC
ExclusiveArch: %{GPRbuild_arches}
- R-V8
ExclusiveArch: %{nodejs_arches}
- R-rJava
ExclusiveArch: %{java_arches}
- RdRand
ExclusiveArch: %{ix86} x86_64
- RediSearch
ExclusiveArch: x86_64
- SLOF
ExclusiveArch: ppc64le
- YafaRay
ExclusiveArch: %{ix86} x86_64
- aardvark-dns
ExclusiveArch: %{rust_arches}
- accel-config
ExclusiveArch: %{ix86} x86_64
- acpid
ExclusiveArch: ia64 x86_64 %{ix86} %{arm} aarch64
- ahven
ExclusiveArch: %{GPRbuild_arches}
- algobox
ExclusiveArch: %{qt5_qtwebengine_arches}
- american-fuzzy-lop
ExclusiveArch: %{ix86} x86_64 s390x
- anet
ExclusiveArch: %{GPRbuild_arches}
- ant
ExclusiveArch: %{java_arches} noarch
- ant-antunit
ExclusiveArch: %{java_arches} noarch
- antlr
ExclusiveArch: %{java_arches}
- antlr-maven-plugin
ExclusiveArch: %{java_arches} noarch
- antlr3
ExclusiveArch: %{java_arches}
- antlr32
ExclusiveArch: %{java_arches} noarch
- antlr4-project
ExclusiveArch: %{java_arches}
- antlrworks
ExclusiveArch: %{java_arches} noarch
- aopalliance
ExclusiveArch: %{java_arches} noarch
- apache-commons-beanutils
ExclusiveArch: %{java_arches} noarch
- apache-commons-cli
ExclusiveArch: %{java_arches} noarch
- apache-commons-codec
ExclusiveArch: %{java_arches} noarch
- apache-commons-collections
ExclusiveArch: %{java_arches} noarch
- apache-commons-collections4
ExclusiveArch: %{java_arches} noarch
- apache-commons-compress
ExclusiveArch: %{java_arches} noarch
- apache-commons-digester
ExclusiveArch: %{java_arches} noarch
- apache-commons-exec
ExclusiveArch: %{java_arches} noarch
- apache-commons-fileupload
ExclusiveArch: %{java_arches} noarch
- apache-commons-io
ExclusiveArch: %{java_arches} noarch
- apache-commons-jxpath
ExclusiveArch: %{java_arches} noarch
- apache-commons-lang3
ExclusiveArch: %{java_arches} noarch
- apache-commons-logging
ExclusiveArch: %{java_arches} noarch
- apache-commons-math
ExclusiveArch: %{java_arches} noarch
- apache-commons-modeler
ExclusiveArch: %{java_arches} noarch
- apache-commons-net
ExclusiveArch: %{java_arches} noarch
- apache-commons-parent
ExclusiveArch: %{java_arches} noarch
- apache-commons-pool
ExclusiveArch: %{java_arches} noarch
- apache-ivy
ExclusiveArch: %{java_arches} noarch
- apache-parent
ExclusiveArch: %{java_arches} noarch
- apache-resource-bundles
ExclusiveArch: %{java_arches} noarch
- apache-sshd
ExclusiveArch: %{java_arches} noarch
- apiguardian
ExclusiveArch: %{java_arches} noarch
- apmd
ExclusiveArch: %{ix86}
- appstream-generator
ExclusiveArch: %{ldc_arches}
- aqute-bnd
ExclusiveArch: %{java_arches} noarch
- args4j
ExclusiveArch: %{java_arches} noarch
- arm-trusted-firmware
ExclusiveArch: aarch64
- assertj-core
ExclusiveArch: %{java_arches} noarch
- atinject
ExclusiveArch: %{java_arches} noarch
- aunit
ExclusiveArch: %GPRbuild_arches
- auto
ExclusiveArch: %{java_arches} noarch
- avgtime
ExclusiveArch: %{ldc_arches}
- aws
ExclusiveArch: %GPRbuild_arches
- azure-cli
ExclusiveArch: %{java_arches} noarch
- batik
ExclusiveArch: %{java_arches} noarch
- bcal
ExclusiveArch: x86_64 aarch64 ia64 ppc64 ppc64le s390x
- bcc
ExclusiveArch: x86_64 %{power64} aarch64 s390x armv7hl
- bcel
ExclusiveArch: %{java_arches} noarch
- bcm283x-firmware
ExclusiveArch: %{arm} aarch64
- beansbinding
ExclusiveArch: %{java_arches} noarch
- belle-sip
ExclusiveArch: %{java_arches}
- berusky2
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 %{mips}
- beust-jcommander
ExclusiveArch: %{java_arches} noarch
- biosdevname
ExclusiveArch: %{ix86} x86_64
- blender
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- bless
ExclusiveArch: %mono_arches
- bolzplatz2006
ExclusiveArch: %{java_arches}
- bouncycastle
ExclusiveArch: %{java_arches} noarch
- bpftrace
ExclusiveArch: x86_64 %{power64} aarch64 s390x
- brazil
ExclusiveArch: %{java_arches} noarch
- bsf
ExclusiveArch: %{java_arches} noarch
- bsh
ExclusiveArch: %{java_arches} noarch
- buildah
ExclusiveArch: %{golang_arches}
- buildnumber-maven-plugin
ExclusiveArch: %{java_arches} noarch
- byte-buddy
ExclusiveArch: %{java_arches} noarch
- byteman
ExclusiveArch: %{java_arches} noarch
- cachelib
ExclusiveArch: x86_64 aarch64 ppc64le
- calamares
ExclusiveArch: %{ix86} x86_64 aarch64
- calibre
ExclusiveArch: %{qt5_qtwebengine_arches}
- cambozola
ExclusiveArch: %{java_arches} noarch
- canl-java
ExclusiveArch: %{java_arches} noarch
- ccdciel
ExclusiveArch: %{fpc_arches}
- cdcollect
ExclusiveArch: %{mono_arches}
- cdi-api
ExclusiveArch: %{java_arches} noarch
- ceph
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- cglib
ExclusiveArch: %{java_arches} noarch
- chromium
ExclusiveArch: x86_64
ExclusiveArch: x86_64 aarch64
ExclusiveArch: x86_64 aarch64
- cjdns
ExclusiveArch: %{nodejs_arches}
- classloader-leak-test-framework
ExclusiveArch: %{java_arches} noarch
- classpathless-compiler
ExclusiveArch: %{java_arches} noarch
- clevis-pin-tpm2
ExclusiveArch: %{rust_arches}
- clojure
ExclusiveArch: %{java_arches} noarch
- clojure-core-specs-alpha
ExclusiveArch: %{java_arches} noarch
- clojure-maven-plugin
ExclusiveArch: %{java_arches} noarch
- clojure-spec-alpha
ExclusiveArch: %{java_arches} noarch
- cmospwd
ExclusiveArch: %{ix86} x86_64
- cmrt
ExclusiveArch: %{ix86} x86_64 ia64
- codehaus-parent
ExclusiveArch: %{java_arches} noarch
- coffee-script
ExclusiveArch: %{nodejs_arches} noarch
- colorful
ExclusiveArch: %{fpc_arches}
- colossus
ExclusiveArch: %{java_arches} noarch
- conmon
ExclusiveArch: %{go_arches}
- console-image-viewer
ExclusiveArch: %{java_arches} noarch
- containernetworking-plugins
ExclusiveArch: %{golang_arches}
- coq
ExclusiveArch: %{java_arches}
- cortado
ExclusiveArch: %{java_arches} noarch
- cpu-x
ExclusiveArch: i686 x86_64
- cpufetch
ExclusiveArch: %{arm} aarch64 x86_64 ppc ppc64 ppc64le
- cpuid
ExclusiveArch: %{ix86} x86_64
- cqrlog
ExclusiveArch: %{fpc_arches}
- crash
ExclusiveArch: %{ix86} ia64 x86_64 ppc ppc64 s390 s390x %{arm} aarch64 ppc64le
- crash-gcore-command
ExclusiveArch: aarch64 ppc64le x86_64
- crash-trace-command
ExclusiveArch: aarch64 ppc64le s390x x86_64
- cri-o
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- cri-tools
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- criu
ExclusiveArch: x86_64 %{arm} ppc64le aarch64 s390x
- crun
ExclusiveArch: %{golang_arches}
- cryptlib
ExclusiveArch: x86_64 aarch64 ppc64le
- crypto-policies
ExclusiveArch: %{java_arches} noarch
- cryptobone
ExclusiveArch: x86_64 ppc64le aarch64
- csslint
ExclusiveArch: %{nodejs_arches} noarch
- cvc4
ExclusiveArch: %{java_arches}
- daq
ExclusiveArch: x86_64 aarch64
- dbus-parsec
ExclusiveArch: %{rust_arches}
- dbus-sharp
ExclusiveArch: %mono_arches
- dbus-sharp-glib
ExclusiveArch: %mono_arches
- decentxml
ExclusiveArch: %{java_arches} noarch
- deepin-daemon
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- deepin-desktop-schemas
ExclusiveArch: %{go_arches}
- directory-maven-plugin
ExclusiveArch: %{java_arches} noarch
- dirgra
ExclusiveArch: %{java_arches} noarch
- disruptor
ExclusiveArch: %{java_arches} noarch
- ditaa
ExclusiveArch: %{java_arches} noarch
- dlm
ExclusiveArch: i686 x86_64
- dmidecode
ExclusiveArch: %{ix86} x86_64 ia64 aarch64
- dmtcp
ExclusiveArch: x86_64
- docker-distribution
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- dolphin-emu
ExclusiveArch: x86_64 aarch64
- dom4j
ExclusiveArch: %{java_arches} noarch
- dotnet6.0
ExclusiveArch: aarch64 x86_64 s390x
ExclusiveArch: x86_64
- dotnet7.0
ExclusiveArch: aarch64 ppc64le s390x x86_64
ExclusiveArch: x86_64
- doublecmd
ExclusiveArch: %{ix86} x86_64
- dpdk
ExclusiveArch: x86_64 i686 aarch64 ppc64le
- dub
ExclusiveArch: %{ldc_arches}
- dxvk-native
ExclusiveArch: %{ix86} x86_64
- dyninst
ExclusiveArch: %{ix86} x86_64 ppc64le aarch64
- e3
ExclusiveArch: %{ix86} x86_64
- easymock
ExclusiveArch: %{java_arches} noarch
- ecj
ExclusiveArch: %{java_arches} noarch
- eclipse-swt
ExclusiveArch: %{java_arches}
- ed25519-java
ExclusiveArch: %{java_arches} noarch
- edk2
ExclusiveArch: x86_64 aarch64
- efibootmgr
ExclusiveArch: %{efi}
- efifs
ExclusiveArch: %{efi}
- efitools
ExclusiveArch: %{efi}
- efivar
ExclusiveArch: %{efi}
- elk
ExclusiveArch: x86_64 %{ix86}
ExclusiveArch: x86_64 %{ix86} aarch64 %{arm} %{power64}
- emacs-slime
ExclusiveArch: %{arm} %{ix86} x86_64 ppc sparcv9 aarch64
- embree
ExclusiveArch: aarch64 x86_64
- enjarify
ExclusiveArch: %{java_arches} noarch
- enki
ExclusiveArch: %{qt5_qtwebengine_arches} noarch
- envytools
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- eric
ExclusiveArch: %{qt5_qtwebengine_arches} noarch
- erlang-corba
ExclusiveArch: %{java_arches}
- eth-tools
ExclusiveArch: x86_64
- exec-maven-plugin
ExclusiveArch: %{java_arches} noarch
- external-editor-revived
ExclusiveArch: %{rust_arches}
- extra-enforcer-rules
ExclusiveArch: %{java_arches} noarch
- fasterxml-oss-parent
ExclusiveArch: %{java_arches} noarch
- fb303
ExclusiveArch: x86_64 aarch64 ppc64le
- fbthrift
ExclusiveArch: x86_64 aarch64 ppc64le
- fcitx-libpinyin
ExclusiveArch: %{qt5_qtwebengine_arches}
- fedora-dockerfiles
ExclusiveArch: %{go_arches}
- felix-parent
ExclusiveArch: %{java_arches} noarch
- felix-utils
ExclusiveArch: %{java_arches} noarch
- fernflower
ExclusiveArch: %{java_arches} noarch
- fes
ExclusiveArch: %{ix86} x86_64
- filedrop
ExclusiveArch: %{java_arches} noarch
- fishbowl
ExclusiveArch: %{java_arches} noarch
- fizz
ExclusiveArch: x86_64 aarch64 ppc64le
- flocq
ExclusiveArch: %{java_arches}
- florist
ExclusiveArch: %{GPRbuild_arches}
- fluent-bit
ExclusiveArch: x86_64 aarch64
- flute
ExclusiveArch: %{java_arches} noarch
- folly
ExclusiveArch: x86_64 aarch64 ppc64le
- fop
ExclusiveArch: %{java_arches} noarch
- forge-parent
ExclusiveArch: %{java_arches} noarch
- fpc
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64 ppc64le
- frama-c
ExclusiveArch: %{java_arches}
- freecol
ExclusiveArch: %{java_arches} noarch
- freemarker
ExclusiveArch: %{java_arches} noarch
- freerouting
ExclusiveArch: %{java_arches} noarch
- frescobaldi
ExclusiveArch: %{qt5_qtwebengine_arches}
- frysk
ExclusiveArch: x86_64 ppc64
- fusesource-pom
ExclusiveArch: %{java_arches} noarch
- fwts
ExclusiveArch: x86_64 %{arm} aarch64 s390x riscv64 %{power64}
- fwupd-efi
ExclusiveArch: x86_64 aarch64
- ga
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le
- gap-pkg-ace
ExclusiveArch: aarch64 ppc64le s390x x86_64
- gap-pkg-aclib
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-alnuth
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-atlasrep
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-autodoc
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-automata
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-autpgrp
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-browse
ExclusiveArch: aarch64 ppc64le s390x x86_64
- gap-pkg-caratinterface
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-circle
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-cohomolo
ExclusiveArch: aarch64 ppc64le s390x x86_64
- gap-pkg-congruence
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-corelg
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-crime
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-crisp
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-crypting
ExclusiveArch: aarch64 ppc64le s390x x86_64
- gap-pkg-cryst
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-crystcat
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-ctbllib
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-curlinterface
ExclusiveArch: aarch64 ppc64le s390x x86_64
- gap-pkg-cvec
ExclusiveArch: aarch64 ppc64le s390x x86_64
- gap-pkg-datastructures
ExclusiveArch: aarch64 ppc64le s390x x86_64
- gap-pkg-design
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-digraphs
ExclusiveArch: aarch64 ppc64le s390x x86_64
- gap-pkg-edim
ExclusiveArch: aarch64 ppc64le s390x x86_64
- gap-pkg-factint
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-ferret
ExclusiveArch: aarch64 ppc64le s390x x86_64
- gap-pkg-fga
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-fining
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-float
ExclusiveArch: aarch64 ppc64le s390x x86_64
- gap-pkg-format
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-forms
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-fr
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-francy
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-gbnp
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-genss
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-grape
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-groupoids
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-grpconst
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-guava
ExclusiveArch: aarch64 ppc64le s390x x86_64
- gap-pkg-hap
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-hapcryst
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-hecke
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch noarch
- gap-pkg-images
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-io
ExclusiveArch: aarch64 ppc64le s390x x86_64
- gap-pkg-irredsol
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-json
ExclusiveArch: aarch64 ppc64le s390x x86_64
- gap-pkg-jupyterkernel
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-jupyterviz
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-laguna
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-liealgdb
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-liepring
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-liering
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-loops
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-lpres
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-mapclass
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-nautytracesinterface
ExclusiveArch: aarch64 ppc64le s390x x86_64
- gap-pkg-nq
ExclusiveArch: aarch64 ppc64le s390x x86_64
- gap-pkg-openmath
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-orb
ExclusiveArch: aarch64 ppc64le s390x x86_64
- gap-pkg-polenta
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-polycyclic
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-polymaking
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-primgrp
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-profiling
ExclusiveArch: aarch64 ppc64le s390x x86_64
- gap-pkg-qpa
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-quagroup
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-radiroot
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-recog
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-repsn
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-resclasses
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-scscp
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-semigroups
ExclusiveArch: aarch64 ppc64le s390x x86_64
- gap-pkg-singular
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-sla
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-smallgrp
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-smallsemi
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-sonata
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-sophus
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-spinsym
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-standardff
ExclusiveArch: aarch64 ppc64le s390x x86_64
- gap-pkg-tomlib
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-toric
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-transgrp
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-utils
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-uuid
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-xmod
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
- gap-pkg-zeromqinterface
ExclusiveArch: aarch64 ppc64le s390x x86_64
- gappalib-coq
ExclusiveArch: %{java_arches}
- gbrainy
ExclusiveArch: %mono_arches
- gdb
ExclusiveArch: %{ix86} x86_64
- gdb-exploitable
ExclusiveArch: x86_64 i386
ExclusiveArch: x86_64 noarch
- gearhead1
ExclusiveArch: %{fpc_arches}
- gearhead2
ExclusiveArch: %{fpc_arches}
- ghdl
ExclusiveArch: %{GNAT_arches}
- ghostwriter
ExclusiveArch: %{qt5_qtwebengine_arches}
- gio-sharp
ExclusiveArch: %mono_arches
- gir-to-d
ExclusiveArch: %{ldc_arches}
- git-octopus
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- gitqlient
ExclusiveArch: %{qt5_qtwebengine_arches}
- giver
ExclusiveArch: %{mono_arches}
- gkeyfile-sharp
ExclusiveArch: %mono_arches
- glibc32
ExclusiveArch: x86_64
- glibd
ExclusiveArch: %{ldc_arches}
- gnatcoll
ExclusiveArch: %{GPRbuild_arches}
- gnatcoll-bindings
ExclusiveArch: %{GPRbuild_arches}
- gnatcoll-db
ExclusiveArch: %{GPRbuild_arches}
- gnome-boxes
ExclusiveArch: x86_64
- gnome-desktop-sharp
ExclusiveArch: %mono_arches
- gnome-do
ExclusiveArch: %mono_arches
- gnome-keyring-sharp
ExclusiveArch: %mono_arches
- gnome-rdp
ExclusiveArch: %{mono_arches}
- gnome-sharp
ExclusiveArch: %mono_arches
- gnome-subtitles
ExclusiveArch: %mono_arches
- gnu-efi
ExclusiveArch: %{efi}
- go-bindata
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- godep
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang
ExclusiveArch: %{golang_arches}
- gomtree
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- google-gson
ExclusiveArch: %{java_arches} noarch
- google-guice
ExclusiveArch: %{java_arches} noarch
- gotun
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
ExclusiveArch: x86_64
- goverlay
ExclusiveArch: %{fpc_arches}
- gprbuild
ExclusiveArch: %{GPRbuild_arches} %{bootstrap_arch}
- gprolog
ExclusiveArch: x86_64 %{ix86} ppc alpha aarch64
- grafana
ExclusiveArch: %{grafana_arches}
- grafana-pcp
ExclusiveArch: %{grafanapcp_arches}
- gtk-sharp-beans
ExclusiveArch: %mono_arches
- gtk-sharp2
ExclusiveArch: %mono_arches
- gtk-sharp3
ExclusiveArch: %{mono_arches}
- gtkd
ExclusiveArch: %{ldc_arches}
- guava
ExclusiveArch: %{java_arches} noarch
- gudev-sharp
ExclusiveArch: %mono_arches
- guestfs-tools
ExclusiveArch: %{kernel_arches}
- hamcrest
ExclusiveArch: %{java_arches} noarch
- harec
ExclusiveArch: x86_64 aarch64
- hawtjni
ExclusiveArch: %{java_arches} noarch
- hedgewars
ExclusiveArch: %{fpc_arches}
- hibernate-jpa-2.0-api
ExclusiveArch: %{java_arches} noarch
- hibernate-jpa-2.1-api
ExclusiveArch: %{java_arches} noarch
- hid4java
ExclusiveArch: %{java_arches} noarch
- hsakmt
ExclusiveArch: x86_64 aarch64 ppc64le
- httpcomponents-client
ExclusiveArch: %{java_arches} noarch
- httpcomponents-core
ExclusiveArch: %{java_arches} noarch
- httpcomponents-project
ExclusiveArch: %{java_arches} noarch
- hyena
ExclusiveArch: %{mono_arches}
- hyperscan
ExclusiveArch: x86_64
- hyperv-daemons
ExclusiveArch: i686 x86_64 aarch64
- i3status-rs
ExclusiveArch: %{rust_arches}
- icaro
ExclusiveArch: %{ix86} x86_64 noarch
- icu4j
ExclusiveArch: %{java_arches} noarch
- imagej
ExclusiveArch: %{java_arches} noarch
- imhex
ExclusiveArch: x86_64 %{arm64} ppc64le
- imvirt
ExclusiveArch: %{ix86} x86_64 ia64
- indistarter
ExclusiveArch: %{fpc_arches}
- infinipath-psm
ExclusiveArch: x86_64
- intel-cm-compiler
ExclusiveArch: i686 x86_64
- intel-cmt-cat
ExclusiveArch: x86_64 i686 i586
ExclusiveArch: x86_64 i686 i586
- intel-compute-runtime
ExclusiveArch: x86_64
- intel-gmmlib
ExclusiveArch: x86_64 i686
- intel-igc
ExclusiveArch: x86_64
- intel-ipp-crypto-mb
ExclusiveArch: x86_64
ExclusiveArch: x86_64
- intel-ipsec-mb
ExclusiveArch: x86_64
ExclusiveArch: x86_64
- intel-mediasdk
ExclusiveArch: x86_64
- intel-undervolt
ExclusiveArch: i386 x86_64
- ioport
ExclusiveArch: %{ix86} x86_64
- ipmctl
ExclusiveArch: x86_64
- ispc
ExclusiveArch: x86_64 aarch64
- iucode-tool
ExclusiveArch: %{ix86} x86_64
- iyfct
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- jFormatString
ExclusiveArch: %{java_arches} noarch
- jackson-annotations
ExclusiveArch: %{java_arches} noarch
- jackson-bom
ExclusiveArch: %{java_arches} noarch
- jackson-core
ExclusiveArch: %{java_arches} noarch
- jackson-databind
ExclusiveArch: %{java_arches} noarch
- jackson-dataformats-binary
ExclusiveArch: %{java_arches} noarch
- jackson-dataformats-text
ExclusiveArch: %{java_arches} noarch
- jackson-jaxrs-providers
ExclusiveArch: %{java_arches} noarch
- jackson-modules-base
ExclusiveArch: %{java_arches} noarch
- jackson-parent
ExclusiveArch: %{java_arches} noarch
- jacoco
ExclusiveArch: %{java_arches} noarch
- jacop
ExclusiveArch: %{java_arches} noarch
- jakarta-activation
ExclusiveArch: %{java_arches} noarch
- jakarta-activation1
ExclusiveArch: %{java_arches} noarch
- jakarta-annotations
ExclusiveArch: %{java_arches} noarch
- jakarta-el
ExclusiveArch: %{java_arches} noarch
- jakarta-interceptors
ExclusiveArch: %{java_arches} noarch
- jakarta-json
ExclusiveArch: %{java_arches} noarch
- jakarta-mail
ExclusiveArch: %{java_arches} noarch
- jakarta-oro
ExclusiveArch: %{java_arches} noarch
- jakarta-saaj
ExclusiveArch: %{java_arches} noarch
- jakarta-server-pages
ExclusiveArch: %{java_arches} noarch
- jakarta-servlet
ExclusiveArch: %{java_arches} noarch
- jakarta-xml-ws
ExclusiveArch: %{java_arches} noarch
- janino
ExclusiveArch: %{java_arches} noarch
- jansi
ExclusiveArch: %{java_arches}
- jansi-native
ExclusiveArch: %{java_arches}
- jansi1
ExclusiveArch: %{java_arches} noarch
- java-1.8.0-openjdk
ExclusiveArch: %{java_arches}
- java-1.8.0-openjdk-aarch32
ExclusiveArch: %{arm}
- java-11-openjdk
ExclusiveArch: %{java_arches}
- java-11-openjdk-portable
ExclusiveArch: %{java_arches}
- java-17-openjdk
ExclusiveArch: %{java_arches}
- java-17-openjdk-portable
ExclusiveArch: %{java_arches}
- java-diff-utils
ExclusiveArch: %{java_arches} noarch
- java-dirq
ExclusiveArch: %{java_arches} noarch
- java-jd-decompiler
ExclusiveArch: %{java_arches} noarch
- java-latest-openjdk
ExclusiveArch: %{java_arches}
- java-latest-openjdk-portable
ExclusiveArch: %{java_arches}
- java-runtime-decompiler
ExclusiveArch: %{java_arches} noarch
- java-scrypt
ExclusiveArch: %{java_arches} noarch
- java_cup
ExclusiveArch: %{java_arches} noarch
- javacc
ExclusiveArch: %{java_arches} noarch
- javacc-maven-plugin
ExclusiveArch: %{java_arches} noarch
- javaewah
ExclusiveArch: %{java_arches} noarch
- javapackages-bootstrap
ExclusiveArch: %{java_arches} noarch
- javaparser
ExclusiveArch: %{java_arches} noarch
- javapoet
ExclusiveArch: %{java_arches} noarch
- javassist
ExclusiveArch: %{java_arches} noarch
- jaxb
ExclusiveArch: %{java_arches} noarch
- jaxb-api
ExclusiveArch: %{java_arches} noarch
- jaxb-api2
ExclusiveArch: %{java_arches} noarch
- jaxb-dtd-parser
ExclusiveArch: %{java_arches} noarch
- jaxb-fi
ExclusiveArch: %{java_arches} noarch
- jaxb-istack-commons
ExclusiveArch: %{java_arches} noarch
- jaxb-stax-ex
ExclusiveArch: %{java_arches} noarch
- jaxen
ExclusiveArch: %{java_arches} noarch
- jboss-jaxrs-2.0-api
ExclusiveArch: %{java_arches} noarch
- jboss-logging
ExclusiveArch: %{java_arches} noarch
- jboss-logging-tools
ExclusiveArch: %{java_arches} noarch
- jboss-parent
ExclusiveArch: %{java_arches} noarch
- jchardet
ExclusiveArch: %{java_arches} noarch
- jcip-annotations
ExclusiveArch: %{java_arches} noarch
- jcommon
ExclusiveArch: %{java_arches} noarch
- jcommon-serializer
ExclusiveArch: %{java_arches} noarch
- jctools
ExclusiveArch: %{java_arches} noarch
- jcuber
ExclusiveArch: %{java_arches} noarch
- jdeparser
ExclusiveArch: %{java_arches} noarch
- jdepend
ExclusiveArch: %{java_arches} noarch
- jdependency
ExclusiveArch: %{java_arches} noarch
- jdom
ExclusiveArch: %{java_arches} noarch
- jdom2
ExclusiveArch: %{java_arches} noarch
- jericho-html
ExclusiveArch: %{java_arches} noarch
- jetty
ExclusiveArch: %{java_arches} noarch
- jflex
ExclusiveArch: %{java_arches} noarch
- jfreechart
ExclusiveArch: %{java_arches} noarch
- jgit
ExclusiveArch: %{java_arches} noarch
- jglobus
ExclusiveArch: %{java_arches} noarch
- jgoodies-common
ExclusiveArch: %{java_arches} noarch
- jgoodies-forms
ExclusiveArch: %{java_arches} noarch
- jgoodies-looks
ExclusiveArch: %{java_arches} noarch
- jigawatts
ExclusiveArch: x86_64 %{arm} ppc64le aarch64 s390x
- jline
ExclusiveArch: %{java_arches} noarch
- jline2
ExclusiveArch: %{java_arches} noarch
- jmock
ExclusiveArch: %{java_arches} noarch
- jmol
ExclusiveArch: %{java_arches} noarch
- jna
ExclusiveArch: %{java_arches}
- jneuroml-core
ExclusiveArch: %{java_arches} noarch
- jni-inchi
ExclusiveArch: %{java_arches}
- jol
ExclusiveArch: %{java_arches} noarch
- jolokia-jvm-agent
ExclusiveArch: %{java_arches} noarch
- joni
ExclusiveArch: %{java_arches} noarch
- jopt-simple
ExclusiveArch: %{java_arches} noarch
- jorbis
ExclusiveArch: %{java_arches} noarch
- jowl
ExclusiveArch: %{nodejs_arches} noarch
- jpanoramamaker
ExclusiveArch: %{java_arches} noarch
- jpcap
ExclusiveArch: %java_arches
- jsch
ExclusiveArch: %{java_arches} noarch
- jsch-agent-proxy
ExclusiveArch: %{java_arches} noarch
- json_simple
ExclusiveArch: %{java_arches} noarch
- jsr-305
ExclusiveArch: %{java_arches} noarch
- jssc
ExclusiveArch: %{java_arches}
- jtidy
ExclusiveArch: %{java_arches} noarch
- junit
ExclusiveArch: %{java_arches} noarch
- junit5
ExclusiveArch: %{java_arches} noarch
- juniversalchardet
ExclusiveArch: %{java_arches} noarch
- jzlib
ExclusiveArch: %{java_arches} noarch
- kchmviewer
ExclusiveArch: %{qt5_qtwebengine_arches}
- kernel
ExclusiveArch: noarch x86_64 s390x %{arm} aarch64 ppc64le
ExclusiveArch: noarch i386 i686 x86_64 s390x %{arm} aarch64 ppc64le
- keylime-agent-rust
ExclusiveArch: %{rust_arches}
- keyring-ima-signer
ExclusiveArch: %{rust_arches}
- kf5-akonadi-search
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-audiocd-kio
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-kalarmcal
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-kblog
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-kcalendarcore
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-kcalendarutils
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-kitinerary
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-ktnef
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-libkdcraw
ExclusiveArch: x86_64 ppc64le %{arm}
- kicad
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le
- kiwix-desktop
ExclusiveArch: %{qt5_qtwebengine_arches}
- klee
ExclusiveArch: x86_64
- knot-resolver
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64
- knotes
ExclusiveArch: x86_64 %{arm}
- kubernetes
ExclusiveArch: x86_64 aarch64 ppc64le s390x %{arm}
- laf-plugin
ExclusiveArch: %{java_arches} noarch
- lazarus
ExclusiveArch: %{fpc_arches}
- lazpaint
ExclusiveArch: %{fpc_arches}
- ldapjdk
ExclusiveArch: %{java_arches} noarch
- ldc
ExclusiveArch: %{ldc_arches} ppc64le
- libbase
ExclusiveArch: %{java_arches} noarch
- libclc
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 %{power64} s390x
- libcxl
ExclusiveArch: %{power64}
- libdfp
ExclusiveArch: ppc ppc64 ppc64le s390 s390x x86_64
- libdispatch
ExclusiveArch: x86_64 aarch64 ppc64le
- libfonts
ExclusiveArch: %{java_arches} noarch
- libformula
ExclusiveArch: %{java_arches} noarch
- libguestfs
ExclusiveArch: %{kernel_arches}
- libica
ExclusiveArch: s390 s390x
- libipt
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{ix86} x86_64
- libkgapi
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- libkrun
ExclusiveArch: x86_64 aarch64
- libkrunfw
ExclusiveArch: x86_64 aarch64
- liblayout
ExclusiveArch: %{java_arches} noarch
- libloader
ExclusiveArch: %{java_arches} noarch
- libnxz
ExclusiveArch: ppc64le
- libocxl
ExclusiveArch: ppc64le
- libpsm2
ExclusiveArch: x86_64
- libquentier
ExclusiveArch: %{qt5_qtwebengine_arches}
- libreoffice-TexMaths
ExclusiveArch: %{java_arches}
- librepository
ExclusiveArch: %{java_arches} noarch
- libretro-desmume2015
ExclusiveArch: i686 x86_64
- librtas
ExclusiveArch: %{power64}
- libserializer
ExclusiveArch: %{java_arches} noarch
- libservicelog
ExclusiveArch: ppc %{power64}
- libsmbios
ExclusiveArch: x86_64 %{ix86}
- libunwind
ExclusiveArch: %{arm} aarch64 hppa ia64 mips ppc %{power64} s390x %{ix86} x86_64
- libva-intel-hybrid-driver
ExclusiveArch: %{ix86} x86_64 ia64
- libvirt-java
ExclusiveArch: %{java_arches} noarch
- libvma
ExclusiveArch: x86_64 ppc64le ppc64 aarch64
- libvmi
ExclusiveArch: x86_64
- libvpd
ExclusiveArch: %{power64}
- libxsmm
ExclusiveArch: x86_64
- libzdnn
ExclusiveArch: s390x
- libzfcphbaapi
ExclusiveArch: s390 s390x
- libzpc
ExclusiveArch: s390x
- llhttp
ExclusiveArch: %{nodejs_arches}
- log4j
ExclusiveArch: %{java_arches} noarch
- log4net
ExclusiveArch: %mono_arches
- lrmi
ExclusiveArch: %{ix86}
- lsvpd
ExclusiveArch: %{power64}
- luajit
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64
- lucene
ExclusiveArch: %{java_arches} noarch
- luxcorerender
ExclusiveArch: x86_64
- mactel-boot
ExclusiveArch: x86_64
- manifest-tool
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- mariadb-java-client
ExclusiveArch: %{java_arches} noarch
- marked
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- matreshka
ExclusiveArch: %GPRbuild_arches
- maui-mauikit
ExclusiveArch: %{ix86} s390x aarch64 x86_64
- maven
ExclusiveArch: %{java_arches} noarch
- maven-antrun-plugin
ExclusiveArch: %{java_arches} noarch
- maven-archetype
ExclusiveArch: %{java_arches} noarch
- maven-archiver
ExclusiveArch: %{java_arches} noarch
- maven-artifact-transfer
ExclusiveArch: %{java_arches} noarch
- maven-assembly-plugin
ExclusiveArch: %{java_arches} noarch
- maven-clean-plugin
ExclusiveArch: %{java_arches} noarch
- maven-common-artifact-filters
ExclusiveArch: %{java_arches} noarch
- maven-compiler-plugin
ExclusiveArch: %{java_arches} noarch
- maven-dependency-analyzer
ExclusiveArch: %{java_arches} noarch
- maven-dependency-plugin
ExclusiveArch: %{java_arches} noarch
- maven-dependency-tree
ExclusiveArch: %{java_arches} noarch
- maven-doxia
ExclusiveArch: %{java_arches} noarch
- maven-doxia-sitetools
ExclusiveArch: %{java_arches} noarch
- maven-enforcer
ExclusiveArch: %{java_arches} noarch
- maven-file-management
ExclusiveArch: %{java_arches} noarch
- maven-filtering
ExclusiveArch: %{java_arches} noarch
- maven-invoker
ExclusiveArch: %{java_arches} noarch
- maven-invoker-plugin
ExclusiveArch: %{java_arches} noarch
- maven-jar-plugin
ExclusiveArch: %{java_arches} noarch
- maven-mapping
ExclusiveArch: %{java_arches} noarch
- maven-native
ExclusiveArch: %{java_arches} noarch
- maven-parent
ExclusiveArch: %{java_arches} noarch
- maven-patch-plugin
ExclusiveArch: %{java_arches} noarch
- maven-plugin-build-helper
ExclusiveArch: %{java_arches} noarch
- maven-plugin-bundle
ExclusiveArch: %{java_arches} noarch
- maven-plugin-testing
ExclusiveArch: %{java_arches} noarch
- maven-plugin-tools
ExclusiveArch: %{java_arches} noarch
- maven-remote-resources-plugin
ExclusiveArch: %{java_arches} noarch
- maven-reporting-api
ExclusiveArch: %{java_arches} noarch
- maven-reporting-impl
ExclusiveArch: %{java_arches} noarch
- maven-resolver
ExclusiveArch: %{java_arches} noarch
- maven-resources-plugin
ExclusiveArch: %{java_arches} noarch
- maven-scm
ExclusiveArch: %{java_arches} noarch
- maven-script-interpreter
ExclusiveArch: %{java_arches} noarch
- maven-shade-plugin
ExclusiveArch: %{java_arches} noarch
- maven-shared-incremental
ExclusiveArch: %{java_arches} noarch
- maven-shared-io
ExclusiveArch: %{java_arches} noarch
- maven-shared-utils
ExclusiveArch: %{java_arches} noarch
- maven-source-plugin
ExclusiveArch: %{java_arches} noarch
- maven-surefire
ExclusiveArch: %{java_arches} noarch
- maven-verifier
ExclusiveArch: %{java_arches} noarch
- maven-verifier-plugin
ExclusiveArch: %{java_arches} noarch
- maven-wagon
ExclusiveArch: %{java_arches} noarch
- maven2
ExclusiveArch: %{java_arches} noarch
- maxima
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc sparcv9
ExclusiveArch: %{ix86} x86_64 ppc sparcv9
- mbpfan
ExclusiveArch: x86_64
- mcelog
ExclusiveArch: i686 x86_64
- mcrouter
ExclusiveArch: x86_64 aarch64 ppc64le
- mdevctl
ExclusiveArch: %{rust_arches}
- mecab-java
ExclusiveArch: %java_arches
- mediaconch
ExclusiveArch: %{qt5_qtwebengine_arches}
- mellowplayer
ExclusiveArch: %{qt5_qtwebengine_arches}
- memkind
ExclusiveArch: x86_64 ppc64 ppc64le s390x aarch64
- memtest86+
ExclusiveArch: %{ix86} x86_64
- microcode_ctl
ExclusiveArch: %{ix86} x86_64
- micropython
ExclusiveArch: %{arm} x86_64
ExclusiveArch: %{arm} %{ix86} x86_64
- miglayout
ExclusiveArch: %{java_arches} noarch
- mine_detector
ExclusiveArch: %{GPRbuild_arches}
- minetest
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64
- mingw-libidn2
ExclusiveArch: %{ix86} x86_64 %{arm}
- mingw-wine-gecko
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- mirrorlist-server
ExclusiveArch: %{rust_arches}
- mkbootdisk
ExclusiveArch: %{ix86} sparc sparc64 x86_64
- moby-engine
ExclusiveArch: %{golang_arches}
- mockito
ExclusiveArch: %{java_arches} noarch
- mod_mono
ExclusiveArch: %mono_arches
- modello
ExclusiveArch: %{java_arches} noarch
- module-build-service
ExclusiveArch: %{ix86} x86_64 noarch
- mojo-executor
ExclusiveArch: %{java_arches} noarch
- mojo-parent
ExclusiveArch: %{java_arches} noarch
- mokutil
ExclusiveArch: %{ix86} x86_64 aarch64 %{arm}
- mono
ExclusiveArch: %mono_arches
- mono-addins
ExclusiveArch: %mono_arches
- mono-basic
ExclusiveArch: %{mono_arches}
- mono-bouncycastle
ExclusiveArch: %mono_arches
- mono-cecil
ExclusiveArch: %mono_arches
- mono-cecil-flowanalysis
ExclusiveArch: %mono_arches
- mono-reflection
ExclusiveArch: %mono_arches
- mono-tools
ExclusiveArch: %mono_arches
- mono-zeroconf
ExclusiveArch: %mono_arches
- monodevelop
ExclusiveArch: %mono_arches
- monodevelop-debugger-gdb
ExclusiveArch: %{mono_arches}
- mrrescue
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- msr-tools
ExclusiveArch: %{ix86} x86_64
- munge-maven-plugin
ExclusiveArch: %{java_arches} noarch
- mxparser
ExclusiveArch: %{java_arches} noarch
- mysql-connector-java
ExclusiveArch: %{java_arches} noarch
- mysql-connector-net
ExclusiveArch: %{mono_arches}
- naev
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64
- naga
ExclusiveArch: %{java_arches} noarch
- nant
ExclusiveArch: %mono_arches
- nativejit
ExclusiveArch: x86_64
- nbc
ExclusiveArch: %{fpc_arches}
- nbdkit
ExclusiveArch: x86_64
- ndesk-dbus
ExclusiveArch: %{mono_arches}
- ndesk-dbus-glib
ExclusiveArch: %{mono_arches}
- nekohtml
ExclusiveArch: %{java_arches} noarch
- netavark
ExclusiveArch: %{rust_arches}
- newtonsoft-json
ExclusiveArch: %{mono_arches}
- nispor
ExclusiveArch: %{rust_arches}
- nodejs
ExclusiveArch: %{nodejs_arches}
- nodejs-acorn-object-spread
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-backbone
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bash-language-server
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-buble
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-colors
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-generic-pool
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-less
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-linefix
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-nodemon
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-packaging
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-replace-require-self
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tape
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-typescript
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-underscore
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs16
ExclusiveArch: %{nodejs_arches}
- nodejs18
ExclusiveArch: %{nodejs_arches}
- nom-tam-fits
ExclusiveArch: %{java_arches} noarch
- notify-sharp
ExclusiveArch: %{mono_arches}
- notify-sharp3
ExclusiveArch: %{mono_arches}
- nuget
ExclusiveArch: %{mono_arches}
- numatop
ExclusiveArch: x86_64 ppc64le
- nunit
ExclusiveArch: %{mono_arches}
- nunit2
ExclusiveArch: %{mono_arches}
- nvml
ExclusiveArch: x86_64 ppc64le
- nwchem
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le
- objectweb-asm
ExclusiveArch: %{java_arches} noarch
- objenesis
ExclusiveArch: %{java_arches} noarch
- obs-service-rust2rpm
ExclusiveArch: %{rust_arches} noarch
- oci-seccomp-bpf-hook
ExclusiveArch: x86_64 %{power64} aarch64 s390x armv7hl
- oidn
ExclusiveArch: x86_64
- olpc-kbdshim
ExclusiveArch: %{ix86} %{arm}
- olpc-utils
ExclusiveArch: %{ix86} %{arm}
- oneVPL
ExclusiveArch: x86_64
- oneVPL-intel-gpu
ExclusiveArch: x86_64
- oneapi-level-zero
ExclusiveArch: x86_64
- onednn
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- onedrive
ExclusiveArch: %{ldc_arches}
- ongres-scram
ExclusiveArch: %{java_arches} noarch
- ongres-stringprep
ExclusiveArch: %{java_arches} noarch
- opae
ExclusiveArch: x86_64
- opal-prd
ExclusiveArch: ppc64le
- open-vm-tools
ExclusiveArch: x86_64 aarch64
ExclusiveArch: %{ix86} x86_64 aarch64
ExclusiveArch: x86_64
- openas2
ExclusiveArch: %{java_arches} noarch
ExclusiveArch: %{java_arches} noarch
- openblas
ExclusiveArch: %{openblas_arches}
- openjdk-asmtools
ExclusiveArch: %{java_arches} noarch
- openjdk-asmtools7
ExclusiveArch: %{java_arches} noarch
- openjfx
ExclusiveArch: %{java_arches}
- openjfx8
ExclusiveArch: x86_64
- openlibm
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 %{power64}
- openms
ExclusiveArch: %{qt5_qtwebengine_arches}
- openni
ExclusiveArch: %{ix86} x86_64 %{arm}
- openni-primesense
ExclusiveArch: %{ix86} x86_64 %{arm}
- openpgl
ExclusiveArch: x86_64
- openshadinglanguage
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- openssl-ibmca
ExclusiveArch: s390 s390x
- openstack-java-sdk
ExclusiveArch: %{java_arches} noarch
- opentest4j
ExclusiveArch: %{java_arches} noarch
- options
ExclusiveArch: %{java_arches} noarch
- orthorobot
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- osgi-annotation
ExclusiveArch: %{java_arches} noarch
- osgi-compendium
ExclusiveArch: %{java_arches} noarch
- osgi-core
ExclusiveArch: %{java_arches} noarch
- pacemaker
ExclusiveArch: aarch64 i686 ppc64le s390x x86_64 %{arm}
ExclusiveArch: aarch64 i686 ppc64le s390x x86_64
- paflib
ExclusiveArch: ppc %{power64}
- pageedit
ExclusiveArch: %{qt5_qtwebengine_arches}
- parsec
ExclusiveArch: %{rust_arches}
- parsec-tool
ExclusiveArch: %{rust_arches}
- parserng
ExclusiveArch: %{java_arches} noarch
- pasdoc
ExclusiveArch: %{fpc_arches}
- pcc
ExclusiveArch: %{ix86} x86_64
- pcfi
ExclusiveArch: %{java_arches} noarch
- pcm
ExclusiveArch: %{ix86} x86_64
- pcmciautils
ExclusiveArch: %{ix86} x86_64 ia64 ppc ppc64 %{arm}
- pdbg
ExclusiveArch: ppc64le
- pdfbox
ExclusiveArch: %{java_arches} noarch
- pdfmod
ExclusiveArch: %mono_arches
- pdftk-java
ExclusiveArch: %{java_arches} noarch
- pentaho-libxml
ExclusiveArch: %{java_arches} noarch
- pentaho-reporting-flow-engine
ExclusiveArch: %{java_arches} noarch
- perl-Dumbbench
ExclusiveArch: %{ix86} x86_64 noarch
- perl-Parse-DMIDecode
ExclusiveArch: %{ix86} x86_64 ia64 aarch64
- pesign
ExclusiveArch: %{ix86} x86_64 ia64 aarch64 %{arm}
- pesign-test-app
ExclusiveArch: x86_64
- picocli
ExclusiveArch: %{java_arches} noarch
- pinta
ExclusiveArch: %mono_arches
- pioneer
ExclusiveArch: %{ix86} x86_64
- plantuml
ExclusiveArch: %{java_arches} noarch
- plasma-dialer
ExclusiveArch: %{java_arches}
- playonlinux
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64
- plexus-active-collections
ExclusiveArch: %{java_arches} noarch
- plexus-archiver
ExclusiveArch: %{java_arches} noarch
- plexus-build-api
ExclusiveArch: %{java_arches} noarch
- plexus-cipher
ExclusiveArch: %{java_arches} noarch
- plexus-classworlds
ExclusiveArch: %{java_arches} noarch
- plexus-compiler
ExclusiveArch: %{java_arches} noarch
- plexus-component-api
ExclusiveArch: %{java_arches} noarch
- plexus-components-pom
ExclusiveArch: %{java_arches} noarch
- plexus-containers
ExclusiveArch: %{java_arches} noarch
- plexus-i18n
ExclusiveArch: %{java_arches} noarch
- plexus-interpolation
ExclusiveArch: %{java_arches} noarch
- plexus-io
ExclusiveArch: %{java_arches} noarch
- plexus-languages
ExclusiveArch: %{java_arches} noarch
- plexus-pom
ExclusiveArch: %{java_arches} noarch
- plexus-resources
ExclusiveArch: %{java_arches} noarch
- plexus-sec-dispatcher
ExclusiveArch: %{java_arches} noarch
- plexus-utils
ExclusiveArch: %{java_arches} noarch
- plexus-velocity
ExclusiveArch: %{java_arches} noarch
- podman
ExclusiveArch: %{golang_arches}
- pomchecker
ExclusiveArch: %{java_arches} noarch
- poppler-sharp
ExclusiveArch: %mono_arches
- popub
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- portlet-2.0-api
ExclusiveArch: %{java_arches} noarch
- postgresql-jdbc
ExclusiveArch: %{java_arches} noarch
- powerpc-utils
ExclusiveArch: ppc %{power64}
- ppc64-diag
ExclusiveArch: ppc %{power64}
- procyon
ExclusiveArch: %{java_arches} noarch
ExclusiveArch: %{java_arches} noarch
ExclusiveArch: %{java_arches} noarch
ExclusiveArch: %{java_arches} noarch
ExclusiveArch: %{java_arches} noarch
ExclusiveArch: %{java_arches} noarch
- proguard
ExclusiveArch: %{java_arches} noarch
- prometheus-jmx-exporter
ExclusiveArch: %{java_arches} noarch
- prometheus-simpleclient-java
ExclusiveArch: %{java_arches} noarch
- proxygen
ExclusiveArch: x86_64 aarch64 ppc64le
- pveclib
ExclusiveArch: ppc %{power64}
- pvs-sbcl
ExclusiveArch: x86_64
- pyqtwebengine
ExclusiveArch: %{qt5_qtwebengine_arches}
- python-ast-monitor
ExclusiveArch: %{qt5_qtwebengine_arches} noarch
- python-cryptography
ExclusiveArch: %{rust_arches}
- python-etcd
ExclusiveArch: noarch %{ix86} x86_64 %{arm} aarch64 ppc64le s390x
- python-javaobj
ExclusiveArch: %{java_arches} noarch
- python-jep
ExclusiveArch: %{java_arches}
- python-jupyter-polymake
ExclusiveArch: noarch aarch64 ppc64le s390x x86_64
- python-openoffice
ExclusiveArch: noarch x86_64
- python-pymoc
ExclusiveArch: aarch64 ppc64 ppc64le x86_64 s390x
- python-setuptools-rust
ExclusiveArch: %{rust_arches}
- q4wine
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- qatzip
ExclusiveArch: x86_64
- qbe
ExclusiveArch: x86_64 aarch64
- qcint
ExclusiveArch: x86_64
- qclib
ExclusiveArch: s390 s390x
- qdox
ExclusiveArch: %{java_arches} noarch
- qemu-sanity-check
ExclusiveArch: %{kernel_arches}
- qevercloud
ExclusiveArch: %{qt5_qtwebengine_arches}
- qmapshack
ExclusiveArch: %{qt5_qtwebengine_arches}
- qt4pas
ExclusiveArch: %{fpc_arches}
- qt5-qtwebengine
ExclusiveArch: %{qt5_qtwebengine_arches}
- quantum-espresso
ExclusiveArch: x86_64 %{ix86} aarch64 %{power64}
- quentier
ExclusiveArch: %{qt5_qtwebengine_arches}
- rEFInd
ExclusiveArch: %{efi}
- rachota
ExclusiveArch: %{java_arches} noarch
- rear
ExclusiveArch: %ix86 x86_64 ppc ppc64 ppc64le ia64
- reflections
ExclusiveArch: %{java_arches} noarch
- reg
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- regexp
ExclusiveArch: %{java_arches} noarch
- replacer
ExclusiveArch: %{java_arches} noarch
- reptyr
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- rescene
ExclusiveArch: %{mono_arches}
- resteasy
ExclusiveArch: %{java_arches} noarch
- restool
ExclusiveArch: aarch64
- restsharp
ExclusiveArch: %{mono_arches}
- retsnoop
ExclusiveArch: %{rust_arches}
- rhino
ExclusiveArch: %{java_arches} noarch
- river
ExclusiveArch: %{zig_arches}
- rocm-compilersupport
ExclusiveArch: x86_64 aarch64 ppc64le
- rocm-device-libs
ExclusiveArch: x86_64 aarch64 ppc64le
- rocm-opencl
ExclusiveArch: x86_64 aarch64
ExclusiveArch: x86_64 aarch64 ppc64le
- rocm-runtime
ExclusiveArch: x86_64 aarch64 ppc64le
- rocminfo
ExclusiveArch: x86_64 aarch64 ppc64le
- rpm-ostree
ExclusiveArch: %{rust_arches}
- rr
ExclusiveArch: %{ix86} x86_64 aarch64
- rssguard
ExclusiveArch: %{qt5_qtwebengine_arches}
- rstudio
ExclusiveArch: %{java_arches}
- rsyntaxtextarea
ExclusiveArch: %{java_arches} noarch
- rubygem-childprocess
ExclusiveArch: %{ix86} x86_64 noarch
- runc
ExclusiveArch: %{golang_arches}
- rundoc
ExclusiveArch: %{java_arches} noarch
- rust
ExclusiveArch: %{rust_arches}
- rust-Inflector
ExclusiveArch: %{rust_arches}
- rust-actix
ExclusiveArch: %{rust_arches}
- rust-actix-codec
ExclusiveArch: %{rust_arches}
- rust-actix-http
ExclusiveArch: %{rust_arches}
- rust-actix-macros
ExclusiveArch: %{rust_arches}
- rust-actix-router
ExclusiveArch: %{rust_arches}
- rust-actix-rt
ExclusiveArch: %{rust_arches}
- rust-actix-server
ExclusiveArch: %{rust_arches}
- rust-actix-service
ExclusiveArch: %{rust_arches}
- rust-actix-tls
ExclusiveArch: %{rust_arches}
- rust-actix-web
ExclusiveArch: %{rust_arches}
- rust-actix-web-codegen
ExclusiveArch: %{rust_arches}
- rust-actix_derive
ExclusiveArch: %{rust_arches}
- rust-addr2line
ExclusiveArch: %{rust_arches}
- rust-aead
ExclusiveArch: %{rust_arches}
- rust-aes-gcm
ExclusiveArch: %{rust_arches}
- rust-aes0.7
ExclusiveArch: %{rust_arches}
- rust-afterburn
ExclusiveArch: %{rust_arches}
- rust-ahash0.4
ExclusiveArch: %{rust_arches}
- rust-alacritty
ExclusiveArch: %{rust_arches}
- rust-alacritty_config_derive
ExclusiveArch: %{rust_arches}
- rust-alacritty_terminal
ExclusiveArch: %{rust_arches}
- rust-alga
ExclusiveArch: %{rust_arches}
- rust-alga_derive
ExclusiveArch: %{rust_arches}
- rust-aliasable
ExclusiveArch: %{rust_arches}
- rust-alloc-no-stdlib
ExclusiveArch: %{rust_arches}
- rust-alloc-stdlib
ExclusiveArch: %{rust_arches}
- rust-ammonia
ExclusiveArch: %{rust_arches}
- rust-ansi_term
ExclusiveArch: %{rust_arches}
- rust-ansi_term0.11
ExclusiveArch: %{rust_arches}
- rust-aparato
ExclusiveArch: %{rust_arches}
- rust-app_dirs
ExclusiveArch: %{rust_arches}
- rust-approx
ExclusiveArch: %{rust_arches}
- rust-ar
ExclusiveArch: %{rust_arches}
- rust-arbitrary0.4
ExclusiveArch: %{rust_arches}
- rust-arc-swap
ExclusiveArch: %{rust_arches}
- rust-arg_enum_proc_macro
ExclusiveArch: %{rust_arches}
- rust-argh
ExclusiveArch: %{rust_arches}
- rust-argh_derive
ExclusiveArch: %{rust_arches}
- rust-argh_shared
ExclusiveArch: %{rust_arches}
- rust-argmax
ExclusiveArch: %{rust_arches}
- rust-argparse
ExclusiveArch: %{rust_arches}
- rust-arrayvec
ExclusiveArch: %{rust_arches}
- rust-arrayvec0.5
ExclusiveArch: %{rust_arches}
- rust-ascii
ExclusiveArch: %{rust_arches}
- rust-ascii-canvas
ExclusiveArch: %{rust_arches}
- rust-askalono
ExclusiveArch: %{rust_arches}
- rust-askalono-cli
ExclusiveArch: %{rust_arches}
- rust-askama
ExclusiveArch: %{rust_arches}
- rust-askama_derive
ExclusiveArch: %{rust_arches}
- rust-askama_escape
ExclusiveArch: %{rust_arches}
- rust-askama_shared
ExclusiveArch: %{rust_arches}
- rust-asn1
ExclusiveArch: %{rust_arches}
- rust-asn1_derive
ExclusiveArch: %{rust_arches}
- rust-assert-impl
ExclusiveArch: %{rust_arches}
- rust-assert-json-diff
ExclusiveArch: %{rust_arches}
- rust-assert_approx_eq
ExclusiveArch: %{rust_arches}
- rust-assert_cli
ExclusiveArch: %{rust_arches}
- rust-assert_cmd
ExclusiveArch: %{rust_arches}
- rust-assert_fs
ExclusiveArch: %{rust_arches}
- rust-assert_matches
ExclusiveArch: %{rust_arches}
- rust-async-attributes
ExclusiveArch: %{rust_arches}
- rust-async-broadcast
ExclusiveArch: %{rust_arches}
- rust-async-compression
ExclusiveArch: %{rust_arches}
- rust-async-mutex
ExclusiveArch: %{rust_arches}
- rust-async-recursion
ExclusiveArch: %{rust_arches}
- rust-async-std
ExclusiveArch: %{rust_arches}
- rust-async-task
ExclusiveArch: %{rust_arches}
- rust-asyncgit
ExclusiveArch: %{rust_arches}
- rust-atom
ExclusiveArch: %{rust_arches}
- rust-atomic
ExclusiveArch: %{rust_arches}
- rust-atomic-traits
ExclusiveArch: %{rust_arches}
- rust-atomic-waker
ExclusiveArch: %{rust_arches}
- rust-atty
ExclusiveArch: %{rust_arches}
- rust-autocfg
ExclusiveArch: %{rust_arches}
- rust-average
ExclusiveArch: %{rust_arches}
- rust-awc
ExclusiveArch: %{rust_arches}
- rust-aws-nitro-enclaves-cose
ExclusiveArch: %{rust_arches}
- rust-az
ExclusiveArch: %{rust_arches}
- rust-backtrace
ExclusiveArch: %{rust_arches}
- rust-base-x
ExclusiveArch: %{rust_arches}
- rust-base64
ExclusiveArch: %{rust_arches}
- rust-below
ExclusiveArch: %{rust_arches}
- rust-bencher
ExclusiveArch: %{rust_arches}
- rust-benfred-read-process-memory
ExclusiveArch: %{rust_arches}
- rust-bigdecimal
ExclusiveArch: %{rust_arches}
- rust-binascii
ExclusiveArch: %{rust_arches}
- rust-bincode
ExclusiveArch: %{rust_arches}
- rust-bit-set
ExclusiveArch: %{rust_arches}
- rust-bit-vec
ExclusiveArch: %{rust_arches}
- rust-bit_field
ExclusiveArch: %{rust_arches}
- rust-bitfield
ExclusiveArch: %{rust_arches}
- rust-bitflags
ExclusiveArch: %{rust_arches}
- rust-blobby
ExclusiveArch: %{rust_arches}
- rust-blobby0.1
ExclusiveArch: %{rust_arches}
- rust-block-buffer
ExclusiveArch: %{rust_arches}
- rust-block-buffer0.9
ExclusiveArch: %{rust_arches}
- rust-block-modes
ExclusiveArch: %{rust_arches}
- rust-block-padding
ExclusiveArch: %{rust_arches}
- rust-block-padding0.2
ExclusiveArch: %{rust_arches}
- rust-blsctl
ExclusiveArch: %{rust_arches}
- rust-bodhi
ExclusiveArch: %{rust_arches}
- rust-bodhi-cli
ExclusiveArch: %{rust_arches}
- rust-bootupd
ExclusiveArch: x86_64 aarch64
- rust-box_drawing
ExclusiveArch: %{rust_arches}
- rust-boxfnonce
ExclusiveArch: %{rust_arches}
- rust-brotli
ExclusiveArch: %{rust_arches}
- rust-brotli-decompressor
ExclusiveArch: %{rust_arches}
- rust-bstr
ExclusiveArch: %{rust_arches}
- rust-btrd
ExclusiveArch: %{rust_arches}
- rust-buffered-reader
ExclusiveArch: %{rust_arches}
- rust-bufstream
ExclusiveArch: %{rust_arches}
- rust-bugreport
ExclusiveArch: %{rust_arches}
- rust-byte-unit3
ExclusiveArch: %{rust_arches}
- rust-bytecheck
ExclusiveArch: %{rust_arches}
- rust-bytecheck_derive
ExclusiveArch: %{rust_arches}
- rust-bytecount
ExclusiveArch: %{rust_arches}
- rust-byteorder
ExclusiveArch: %{rust_arches}
- rust-bytes-cast
ExclusiveArch: %{rust_arches}
- rust-bytes-cast-derive
ExclusiveArch: %{rust_arches}
- rust-bytes0.4
ExclusiveArch: %{rust_arches}
- rust-bytes0.5
ExclusiveArch: %{rust_arches}
- rust-bytesize
ExclusiveArch: %{rust_arches}
- rust-bzip2
ExclusiveArch: %{rust_arches}
- rust-bzip2-sys
ExclusiveArch: %{rust_arches}
- rust-cache-padded
ExclusiveArch: %{rust_arches}
- rust-calloop
ExclusiveArch: %{rust_arches}
- rust-cap
ExclusiveArch: %{rust_arches}
- rust-capng
ExclusiveArch: %{rust_arches}
- rust-capnp-futures
ExclusiveArch: %{rust_arches}
- rust-capnp-rpc
ExclusiveArch: %{rust_arches}
- rust-cargo
ExclusiveArch: %{rust_arches}
- rust-cargo-c
ExclusiveArch: %{rust_arches}
- rust-cargo-edit
ExclusiveArch: %{rust_arches}
- rust-cargo-husky
ExclusiveArch: %{rust_arches}
- rust-cargo-insta
ExclusiveArch: %{rust_arches}
- rust-cargo-manifest
ExclusiveArch: %{rust_arches}
- rust-cargo-platform
ExclusiveArch: %{rust_arches}
- rust-cargo-readme
ExclusiveArch: %{rust_arches}
- rust-cascade
ExclusiveArch: %{rust_arches}
- rust-case
ExclusiveArch: %{rust_arches}
- rust-cassowary
ExclusiveArch: %{rust_arches}
- rust-cast
ExclusiveArch: %{rust_arches}
- rust-cbindgen
ExclusiveArch: %{rust_arches}
- rust-cdylib-link-lines
ExclusiveArch: %{rust_arches}
- rust-cexpr
ExclusiveArch: %{rust_arches}
- rust-cfb
ExclusiveArch: %{rust_arches}
- rust-cfg-if
ExclusiveArch: %{rust_arches}
- rust-cfg-if0.1
ExclusiveArch: %{rust_arches}
- rust-chainerror
ExclusiveArch: %{rust_arches}
- rust-charset
ExclusiveArch: %{rust_arches}
- rust-choosier
ExclusiveArch: %{rust_arches}
- rust-chrono-humanize
ExclusiveArch: %{rust_arches}
- rust-chrono-tz
ExclusiveArch: %{rust_arches}
- rust-ciborium
ExclusiveArch: %{rust_arches}
- rust-ciborium-io
ExclusiveArch: %{rust_arches}
- rust-ciborium-ll
ExclusiveArch: %{rust_arches}
- rust-cint
ExclusiveArch: %{rust_arches}
- rust-cipher
ExclusiveArch: %{rust_arches}
- rust-cipher0.3
ExclusiveArch: %{rust_arches}
- rust-clang-sys
ExclusiveArch: %{rust_arches}
- rust-clap
ExclusiveArch: %{rust_arches}
- rust-clap-verbosity-flag
ExclusiveArch: %{rust_arches}
- rust-clap2
ExclusiveArch: %{rust_arches}
- rust-clap_complete
ExclusiveArch: %{rust_arches}
- rust-clap_complete_fig
ExclusiveArch: %{rust_arches}
- rust-clap_derive
ExclusiveArch: %{rust_arches}
- rust-clap_generate
ExclusiveArch: %{rust_arches}
- rust-clap_generate_fig
ExclusiveArch: %{rust_arches}
- rust-clicolors-control
ExclusiveArch: %{rust_arches}
- rust-clircle
ExclusiveArch: %{rust_arches}
- rust-codespan-reporting
ExclusiveArch: %{rust_arches}
- rust-codicon
ExclusiveArch: %{rust_arches}
- rust-color-backtrace
ExclusiveArch: %{rust_arches}
- rust-color_quant
ExclusiveArch: %{rust_arches}
- rust-colored
ExclusiveArch: %{rust_arches}
- rust-colored1
ExclusiveArch: %{rust_arches}
- rust-colored_json
ExclusiveArch: %{rust_arches}
- rust-colorful
ExclusiveArch: %{rust_arches}
- rust-combine
ExclusiveArch: %{rust_arches}
- rust-comfy-table
ExclusiveArch: %{rust_arches}
- rust-common-path
ExclusiveArch: %{rust_arches}
- rust-compiletest_rs
ExclusiveArch: %{rust_arches}
- rust-compress-tools
ExclusiveArch: %{rust_arches}
- rust-concolor
ExclusiveArch: %{rust_arches}
- rust-concolor-control
ExclusiveArch: %{rust_arches}
- rust-concolor-query
ExclusiveArch: %{rust_arches}
- rust-config
ExclusiveArch: %{rust_arches}
- rust-configparser
ExclusiveArch: %{rust_arches}
- rust-confy
ExclusiveArch: %{rust_arches}
- rust-conhash
ExclusiveArch: %{rust_arches}
- rust-console
ExclusiveArch: %{rust_arches}
- rust-console0.11
ExclusiveArch: %{rust_arches}
- rust-console0.12
ExclusiveArch: %{rust_arches}
- rust-console0.13
ExclusiveArch: %{rust_arches}
- rust-console0.14
ExclusiveArch: %{rust_arches}
- rust-console0.9
ExclusiveArch: %{rust_arches}
- rust-const-cstr
ExclusiveArch: %{rust_arches}
- rust-const-oid0.6
ExclusiveArch: %{rust_arches}
- rust-const-random
ExclusiveArch: %{rust_arches}
- rust-const-random-macro
ExclusiveArch: %{rust_arches}
- rust-const_fn
ExclusiveArch: %{rust_arches}
- rust-const_format
ExclusiveArch: %{rust_arches}
- rust-const_format_proc_macros
ExclusiveArch: %{rust_arches}
- rust-constant_time_eq
ExclusiveArch: %{rust_arches}
- rust-content_inspector
ExclusiveArch: %{rust_arches}
- rust-conv
ExclusiveArch: %{rust_arches}
- rust-cookie
ExclusiveArch: %{rust_arches}
- rust-cookie-factory
ExclusiveArch: %{rust_arches}
- rust-cookie_store
ExclusiveArch: %{rust_arches}
- rust-coolor
ExclusiveArch: %{rust_arches}
- rust-copydeps
ExclusiveArch: %{rust_arches}
- rust-copypasta
ExclusiveArch: %{rust_arches}
- rust-cordic
ExclusiveArch: %{rust_arches}
- rust-coreos-installer
ExclusiveArch: %{rust_arches}
- rust-count-zeroes
ExclusiveArch: %{rust_arches}
- rust-counted-array
ExclusiveArch: %{rust_arches}
- rust-cpc
ExclusiveArch: %{rust_arches}
- rust-cpio
ExclusiveArch: %{rust_arches}
- rust-cpp_demangle
ExclusiveArch: %{rust_arches}
- rust-cpufeatures
ExclusiveArch: %{rust_arches}
- rust-crates-io
ExclusiveArch: %{rust_arches}
- rust-crc
ExclusiveArch: %{rust_arches}
- rust-crc-catalog
ExclusiveArch: %{rust_arches}
- rust-crc32fast
ExclusiveArch: %{rust_arches}
- rust-crossbeam
ExclusiveArch: %{rust_arches}
- rust-crossbeam-channel
ExclusiveArch: %{rust_arches}
- rust-crossbeam-channel0.4
ExclusiveArch: %{rust_arches}
- rust-crossbeam-deque
ExclusiveArch: %{rust_arches}
- rust-crossbeam-deque0.7
ExclusiveArch: %{rust_arches}
- rust-crossbeam-epoch
ExclusiveArch: %{rust_arches}
- rust-crossbeam-epoch0.8
ExclusiveArch: %{rust_arches}
- rust-crossbeam-queue0.2
ExclusiveArch: %{rust_arches}
- rust-crossbeam-utils0.7
ExclusiveArch: %{rust_arches}
- rust-crossbeam0.7
ExclusiveArch: %{rust_arches}
- rust-crossfont
ExclusiveArch: %{rust_arches}
- rust-crossterm0.17
ExclusiveArch: %{rust_arches}
- rust-crossterm0.19
ExclusiveArch: %{rust_arches}
- rust-crosstermion
ExclusiveArch: %{rust_arches}
- rust-crunchy
ExclusiveArch: %{rust_arches}
- rust-crypto-bigint
ExclusiveArch: %{rust_arches}
- rust-crypto-common
ExclusiveArch: %{rust_arches}
- rust-crypto-hash
ExclusiveArch: %{rust_arches}
- rust-crypto-mac
ExclusiveArch: %{rust_arches}
- rust-cryptoki
ExclusiveArch: %{rust_arches}
- rust-cryptoki-sys
ExclusiveArch: %{rust_arches}
- rust-csscolorparser
ExclusiveArch: %{rust_arches}
- rust-cssparser
ExclusiveArch: %{rust_arches}
- rust-cssparser-macros
ExclusiveArch: %{rust_arches}
- rust-cstr_core
ExclusiveArch: %{rust_arches}
- rust-csv
ExclusiveArch: %{rust_arches}
- rust-csv-core
ExclusiveArch: %{rust_arches}
- rust-ct-logs
ExclusiveArch: %{rust_arches}
- rust-ctr
ExclusiveArch: %{rust_arches}
- rust-ctr0.8
ExclusiveArch: %{rust_arches}
- rust-ctrlc
ExclusiveArch: %{rust_arches}
- rust-cty
ExclusiveArch: %{rust_arches}
- rust-curl
ExclusiveArch: %{rust_arches}
- rust-cursive-tabs
ExclusiveArch: %{rust_arches}
- rust-custom_derive
ExclusiveArch: %{rust_arches}
- rust-custom_error
ExclusiveArch: %{rust_arches}
- rust-daemonize
ExclusiveArch: %{rust_arches}
- rust-darling0.12
ExclusiveArch: %{rust_arches}
- rust-darling_core0.12
ExclusiveArch: %{rust_arches}
- rust-darling_macro0.12
ExclusiveArch: %{rust_arches}
- rust-dashmap4
ExclusiveArch: %{rust_arches}
- rust-data-encoding-macro
ExclusiveArch: %{rust_arches}
- rust-data-encoding-macro-internal
ExclusiveArch: %{rust_arches}
- rust-data-url
ExclusiveArch: %{rust_arches}
- rust-datetime
ExclusiveArch: %{rust_arches}
- rust-dav1d-sys
ExclusiveArch: %{rust_arches}
- rust-dbus
ExclusiveArch: %{rust_arches}
- rust-dbus-codegen
ExclusiveArch: %{rust_arches}
- rust-dbus-crossroads
ExclusiveArch: %{rust_arches}
- rust-dbus-tree
ExclusiveArch: %{rust_arches}
- rust-dbus0.8
ExclusiveArch: %{rust_arches}
- rust-decimal
ExclusiveArch: %{rust_arches}
- rust-deflate
ExclusiveArch: %{rust_arches}
- rust-deflate0.8
ExclusiveArch: %{rust_arches}
- rust-defmac
ExclusiveArch: %{rust_arches}
- rust-deltae
ExclusiveArch: %{rust_arches}
- rust-der
ExclusiveArch: %{rust_arches}
- rust-der_derive
ExclusiveArch: %{rust_arches}
- rust-derivative
ExclusiveArch: %{rust_arches}
- rust-derive-new
ExclusiveArch: %{rust_arches}
- rust-derive_arbitrary0.4
ExclusiveArch: %{rust_arches}
- rust-derive_builder0.9
ExclusiveArch: %{rust_arches}
- rust-derive_builder_core0.9
ExclusiveArch: %{rust_arches}
- rust-derive_more
ExclusiveArch: %{rust_arches}
- rust-des
ExclusiveArch: %{rust_arches}
- rust-des0.7
ExclusiveArch: %{rust_arches}
- rust-desed
ExclusiveArch: %{rust_arches}
- rust-devicemapper-sys
ExclusiveArch: %{rust_arches}
- rust-dialoguer
ExclusiveArch: %{rust_arches}
- rust-diesel
ExclusiveArch: %{rust_arches}
- rust-diesel_derives
ExclusiveArch: %{rust_arches}
- rust-diff
ExclusiveArch: %{rust_arches}
- rust-difference
ExclusiveArch: %{rust_arches}
- rust-difflib
ExclusiveArch: %{rust_arches}
- rust-digest0.9
ExclusiveArch: %{rust_arches}
- rust-digest_auth
ExclusiveArch: %{rust_arches}
- rust-directories
ExclusiveArch: %{rust_arches}
- rust-directories-next
ExclusiveArch: %{rust_arches}
- rust-directories3
ExclusiveArch: %{rust_arches}
- rust-dirs
ExclusiveArch: %{rust_arches}
- rust-dirs-next
ExclusiveArch: %{rust_arches}
- rust-dirs-sys
ExclusiveArch: %{rust_arches}
- rust-dirs-sys-next
ExclusiveArch: %{rust_arches}
- rust-dirs2
ExclusiveArch: %{rust_arches}
- rust-dirs3
ExclusiveArch: %{rust_arches}
- rust-diskonaut
ExclusiveArch: %{rust_arches}
- rust-displaydoc
ExclusiveArch: %{rust_arches}
- rust-dlib
ExclusiveArch: %{rust_arches}
- rust-dns-lookup
ExclusiveArch: %{rust_arches}
- rust-doc-comment
ExclusiveArch: %{rust_arches}
- rust-docmatic
ExclusiveArch: %{rust_arches}
- rust-docopt
ExclusiveArch: %{rust_arches}
- rust-dotenv
ExclusiveArch: %{rust_arches}
- rust-downcast
ExclusiveArch: %{rust_arches}
- rust-downcast-rs
ExclusiveArch: %{rust_arches}
- rust-drg
ExclusiveArch: %{rust_arches}
- rust-dtoa
ExclusiveArch: %{rust_arches}
- rust-dtoa-short
ExclusiveArch: %{rust_arches}
- rust-dua-cli
ExclusiveArch: %{rust_arches}
- rust-duct
ExclusiveArch: %{rust_arches}
- rust-duct_sh
ExclusiveArch: %{rust_arches}
- rust-dummy
ExclusiveArch: %{rust_arches}
- rust-dunce
ExclusiveArch: %{rust_arches}
- rust-dutree
ExclusiveArch: %{rust_arches}
- rust-easy-cast
ExclusiveArch: %{rust_arches}
- rust-easy-parallel
ExclusiveArch: %{rust_arches}
- rust-edit
ExclusiveArch: %{rust_arches}
- rust-edit-distance
ExclusiveArch: %{rust_arches}
- rust-either
ExclusiveArch: %{rust_arches}
- rust-elf
ExclusiveArch: %{rust_arches}
- rust-elfcat
ExclusiveArch: %{rust_arches}
- rust-email-encoding
ExclusiveArch: %{rust_arches}
- rust-ena
ExclusiveArch: %{rust_arches}
- rust-encode_unicode
ExclusiveArch: %{rust_arches}
- rust-encoding
ExclusiveArch: %{rust_arches}
- rust-encoding-index-japanese
ExclusiveArch: %{rust_arches}
- rust-encoding-index-korean
ExclusiveArch: %{rust_arches}
- rust-encoding-index-simpchinese
ExclusiveArch: %{rust_arches}
- rust-encoding-index-singlebyte
ExclusiveArch: %{rust_arches}
- rust-encoding-index-tradchinese
ExclusiveArch: %{rust_arches}
- rust-encoding_index_tests
ExclusiveArch: %{rust_arches}
- rust-encoding_rs
ExclusiveArch: %{rust_arches}
- rust-encoding_rs_io
ExclusiveArch: %{rust_arches}
- rust-endian-type
ExclusiveArch: %{rust_arches}
- rust-enquote
ExclusiveArch: %{rust_arches}
- rust-entities
ExclusiveArch: %{rust_arches}
- rust-enum-as-inner
ExclusiveArch: %{rust_arches}
- rust-enum-iterator
ExclusiveArch: %{rust_arches}
- rust-enum-iterator-derive
ExclusiveArch: %{rust_arches}
- rust-enumflags2
ExclusiveArch: %{rust_arches}
- rust-enumflags2_0.6
ExclusiveArch: %{rust_arches}
- rust-enumflags2_derive
ExclusiveArch: %{rust_arches}
- rust-enumflags2_derive0.6
ExclusiveArch: %{rust_arches}
- rust-enumset
ExclusiveArch: %{rust_arches}
- rust-enumset_derive
ExclusiveArch: %{rust_arches}
- rust-env_logger0.4
ExclusiveArch: %{rust_arches}
- rust-env_logger0.5
ExclusiveArch: %{rust_arches}
- rust-env_logger0.6
ExclusiveArch: %{rust_arches}
- rust-env_logger0.7
ExclusiveArch: %{rust_arches}
- rust-env_logger0.8
ExclusiveArch: %{rust_arches}
- rust-env_proxy
ExclusiveArch: %{rust_arches}
- rust-environment
ExclusiveArch: %{rust_arches}
- rust-epoll
ExclusiveArch: %{rust_arches}
- rust-err-derive
ExclusiveArch: %{rust_arches}
- rust-errno
ExclusiveArch: %{rust_arches}
- rust-error-chain
ExclusiveArch: %{rust_arches}
- rust-escape_string
ExclusiveArch: %{rust_arches}
- rust-escargot
ExclusiveArch: %{rust_arches}
- rust-esphome
ExclusiveArch: %{rust_arches}
- rust-ethtool
ExclusiveArch: %{rust_arches}
- rust-event-listener
ExclusiveArch: %{rust_arches}
- rust-exa
ExclusiveArch: %{rust_arches}
- rust-executable-path
ExclusiveArch: %{rust_arches}
- rust-exitcode
ExclusiveArch: %{rust_arches}
- rust-exitfailure
ExclusiveArch: %{rust_arches}
- rust-expat-sys
ExclusiveArch: %{rust_arches}
- rust-eyre
ExclusiveArch: %{rust_arches}
- rust-faccess
ExclusiveArch: %{rust_arches}
- rust-fail
ExclusiveArch: %{rust_arches}
- rust-failure
ExclusiveArch: %{rust_arches}
- rust-failure-tools
ExclusiveArch: %{rust_arches}
- rust-failure_derive
ExclusiveArch: %{rust_arches}
- rust-fake
ExclusiveArch: %{rust_arches}
- rust-fake-simd
ExclusiveArch: %{rust_arches}
- rust-fallible-iterator
ExclusiveArch: %{rust_arches}
- rust-fallible-streaming-iterator
ExclusiveArch: %{rust_arches}
- rust-fastrand
ExclusiveArch: %{rust_arches}
- rust-fatfs
ExclusiveArch: %{rust_arches}
- rust-fd-find
ExclusiveArch: %{rust_arches}
- rust-fd-lock
ExclusiveArch: %{rust_arches}
- rust-fedora
ExclusiveArch: %{rust_arches}
- rust-fedora-update-feedback
ExclusiveArch: %{rust_arches}
- rust-femme
ExclusiveArch: %{rust_arches}
- rust-fern
ExclusiveArch: %{rust_arches}
- rust-field-offset
ExclusiveArch: %{rust_arches}
- rust-filedescriptor
ExclusiveArch: %{rust_arches}
- rust-filesize
ExclusiveArch: %{rust_arches}
- rust-filetreelist
ExclusiveArch: %{rust_arches}
- rust-find-crate
ExclusiveArch: %{rust_arches}
- rust-findshlibs
ExclusiveArch: %{rust_arches}
- rust-firestorm
ExclusiveArch: %{rust_arches}
- rust-fixed
ExclusiveArch: %{rust_arches}
- rust-fixedbitset
ExclusiveArch: %{rust_arches}
- rust-fixedbitset0.2
ExclusiveArch: %{rust_arches}
- rust-flate2
ExclusiveArch: %{rust_arches}
- rust-float-cmp
ExclusiveArch: %{rust_arches}
- rust-float-ord
ExclusiveArch: %{rust_arches}
- rust-fluent
ExclusiveArch: %{rust_arches}
- rust-flume
ExclusiveArch: %{rust_arches}
- rust-fn-error-context
ExclusiveArch: %{rust_arches}
- rust-fnv
ExclusiveArch: %{rust_arches}
- rust-font-kit
ExclusiveArch: %{rust_arches}
- rust-foreign-types
ExclusiveArch: %{rust_arches}
- rust-foreign-types-macros
ExclusiveArch: %{rust_arches}
- rust-foreign-types-shared
ExclusiveArch: %{rust_arches}
- rust-foreign-types-shared0.1
ExclusiveArch: %{rust_arches}
- rust-foreign-types0.3
ExclusiveArch: %{rust_arches}
- rust-format-bytes
ExclusiveArch: %{rust_arches}
- rust-format-bytes-macros
ExclusiveArch: %{rust_arches}
- rust-freetype
ExclusiveArch: %{rust_arches}
- rust-fs2
ExclusiveArch: %{rust_arches}
- rust-fs_extra
ExclusiveArch: %{rust_arches}
- rust-fscommon
ExclusiveArch: %{rust_arches}
- rust-fslock
ExclusiveArch: %{rust_arches}
- rust-funty
ExclusiveArch: %{rust_arches}
- rust-futf
ExclusiveArch: %{rust_arches}
- rust-futures-cpupool
ExclusiveArch: %{rust_arches}
- rust-futures-lite
ExclusiveArch: %{rust_arches}
- rust-futures-timer
ExclusiveArch: %{rust_arches}
- rust-futures0.1
ExclusiveArch: %{rust_arches}
- rust-fuzzy-matcher
ExclusiveArch: %{rust_arches}
- rust-fxhash
ExclusiveArch: %{rust_arches}
- rust-gag
ExclusiveArch: %{rust_arches}
- rust-generic-array
ExclusiveArch: %{rust_arches}
- rust-generic-array0.12
ExclusiveArch: %{rust_arches}
- rust-genetlink
ExclusiveArch: %{rust_arches}
- rust-getch
ExclusiveArch: %{rust_arches}
- rust-gethostname
ExclusiveArch: %{rust_arches}
- rust-getopts
ExclusiveArch: %{rust_arches}
- rust-getrandom0.1
ExclusiveArch: %{rust_arches}
- rust-getset
ExclusiveArch: %{rust_arches}
- rust-gettext-rs
ExclusiveArch: %{rust_arches}
- rust-gettext-sys
ExclusiveArch: %{rust_arches}
- rust-gh-emoji
ExclusiveArch: %{rust_arches}
- rust-ghash
ExclusiveArch: %{rust_arches}
- rust-gif
ExclusiveArch: %{rust_arches}
- rust-gimli
ExclusiveArch: %{rust_arches}
- rust-gir-format-check
ExclusiveArch: %{rust_arches}
- rust-git-delta
ExclusiveArch: %{rust_arches}
- rust-git-version
ExclusiveArch: %{rust_arches}
- rust-git-version-macro
ExclusiveArch: %{rust_arches}
- rust-git2
ExclusiveArch: %{rust_arches}
- rust-git2-curl
ExclusiveArch: %{rust_arches}
- rust-git2_0.13
ExclusiveArch: %{rust_arches}
- rust-gitui
ExclusiveArch: %{rust_arches}
- rust-gl_generator
ExclusiveArch: %{rust_arches}
- rust-glam
ExclusiveArch: %{rust_arches}
- rust-glob
ExclusiveArch: %{rust_arches}
- rust-globset
ExclusiveArch: %{rust_arches}
- rust-globwalk
ExclusiveArch: %{rust_arches}
- rust-glutin
ExclusiveArch: %{rust_arches}
- rust-glutin_egl_sys
ExclusiveArch: %{rust_arches}
- rust-glutin_glx_sys
ExclusiveArch: %{rust_arches}
- rust-goblin
ExclusiveArch: %{rust_arches}
- rust-gptman
ExclusiveArch: %{rust_arches}
- rust-grep
ExclusiveArch: %{rust_arches}
- rust-grep-cli
ExclusiveArch: %{rust_arches}
- rust-grep-matcher
ExclusiveArch: %{rust_arches}
- rust-grep-pcre2
ExclusiveArch: %{rust_arches}
- rust-grep-printer
ExclusiveArch: %{rust_arches}
- rust-grep-regex
ExclusiveArch: %{rust_arches}
- rust-grep-searcher
ExclusiveArch: %{rust_arches}
- rust-groupable
ExclusiveArch: %{rust_arches}
- rust-gstreamer
ExclusiveArch: %{rust_arches}
- rust-gstreamer-audio
ExclusiveArch: %{rust_arches}
- rust-gstreamer-audio-sys
ExclusiveArch: %{rust_arches}
- rust-gstreamer-base
ExclusiveArch: %{rust_arches}
- rust-gstreamer-base-sys
ExclusiveArch: %{rust_arches}
- rust-gstreamer-editing-services
ExclusiveArch: %{rust_arches}
- rust-gstreamer-editing-services-sys
ExclusiveArch: %{rust_arches}
- rust-gstreamer-pbutils
ExclusiveArch: %{rust_arches}
- rust-gstreamer-pbutils-sys
ExclusiveArch: %{rust_arches}
- rust-gstreamer-player
ExclusiveArch: %{rust_arches}
- rust-gstreamer-player-sys
ExclusiveArch: %{rust_arches}
- rust-gstreamer-sys
ExclusiveArch: %{rust_arches}
- rust-gstreamer-video
ExclusiveArch: %{rust_arches}
- rust-gstreamer-video-sys
ExclusiveArch: %{rust_arches}
- rust-gzip-header
ExclusiveArch: %{rust_arches}
- rust-half
ExclusiveArch: %{rust_arches}
- rust-hamcrest2
ExclusiveArch: %{rust_arches}
- rust-hamming
ExclusiveArch: %{rust_arches}
- rust-handlebars
ExclusiveArch: %{rust_arches}
- rust-hashbrown
ExclusiveArch: %{rust_arches}
- rust-hashbrown0.11
ExclusiveArch: %{rust_arches}
- rust-hashbrown0.9
ExclusiveArch: %{rust_arches}
- rust-hashlink
ExclusiveArch: %{rust_arches}
- rust-headers
ExclusiveArch: %{rust_arches}
- rust-headers-core
ExclusiveArch: %{rust_arches}
- rust-heapsize
ExclusiveArch: %{rust_arches}
- rust-heatseeker
ExclusiveArch: %{rust_arches}
- rust-heck
ExclusiveArch: %{rust_arches}
- rust-heck0.3
ExclusiveArch: %{rust_arches}
- rust-helvum
ExclusiveArch: %{rust_arches}
- rust-hex
ExclusiveArch: %{rust_arches}
- rust-hex-literal
ExclusiveArch: %{rust_arches}
- rust-hex-literal-impl
ExclusiveArch: %{rust_arches}
- rust-hex-literal0.2
ExclusiveArch: %{rust_arches}
- rust-hexyl
ExclusiveArch: %{rust_arches}
- rust-hidapi
ExclusiveArch: %{rust_arches}
- rust-hkdf
ExclusiveArch: %{rust_arches}
- rust-hkdf0.11
ExclusiveArch: %{rust_arches}
- rust-hmac
ExclusiveArch: %{rust_arches}
- rust-hmac0.11
ExclusiveArch: %{rust_arches}
- rust-home
ExclusiveArch: %{rust_arches}
- rust-hostname
ExclusiveArch: %{rust_arches}
- rust-hostname-validator
ExclusiveArch: %{rust_arches}
- rust-html2pango
ExclusiveArch: %{rust_arches}
- rust-http-body
ExclusiveArch: %{rust_arches}
- rust-http0.1
ExclusiveArch: %{rust_arches}
- rust-httparse
ExclusiveArch: %{rust_arches}
- rust-httpdate
ExclusiveArch: %{rust_arches}
- rust-human-panic
ExclusiveArch: %{rust_arches}
- rust-human-sort
ExclusiveArch: %{rust_arches}
- rust-humansize
ExclusiveArch: %{rust_arches}
- rust-humantime
ExclusiveArch: %{rust_arches}
- rust-humantime-serde
ExclusiveArch: %{rust_arches}
- rust-humantime1
ExclusiveArch: %{rust_arches}
- rust-hyper-rustls
ExclusiveArch: %{rust_arches}
- rust-hyper-tls
ExclusiveArch: %{rust_arches}
- rust-hyperfine
ExclusiveArch: %{rust_arches}
- rust-hyperlocal
ExclusiveArch: %{rust_arches}
- rust-i18n-config
ExclusiveArch: %{rust_arches}
- rust-i18n-embed
ExclusiveArch: %{rust_arches}
- rust-i18n-embed-fl
ExclusiveArch: %{rust_arches}
- rust-i18n-embed-impl
ExclusiveArch: %{rust_arches}
- rust-i3ipc
ExclusiveArch: %{rust_arches}
- rust-iai
ExclusiveArch: %{rust_arches}
- rust-id-arena
ExclusiveArch: %{rust_arches}
- rust-ident_case
ExclusiveArch: %{rust_arches}
- rust-idna0.1
ExclusiveArch: %{rust_arches}
- rust-ifcfg-devname
ExclusiveArch: %{rust_arches}
- rust-ignition-config
ExclusiveArch: %{rust_arches}
- rust-ignore
ExclusiveArch: %{rust_arches}
- rust-im-rc
ExclusiveArch: %{rust_arches}
- rust-image
ExclusiveArch: %{rust_arches}
- rust-image0.23
ExclusiveArch: %{rust_arches}
- rust-imgref
ExclusiveArch: %{rust_arches}
- rust-impls
ExclusiveArch: %{rust_arches}
- rust-indenter
ExclusiveArch: %{rust_arches}
- rust-indicatif
ExclusiveArch: %{rust_arches}
- rust-indicatif0.15
ExclusiveArch: %{rust_arches}
- rust-infer
ExclusiveArch: %{rust_arches}
- rust-inferno
ExclusiveArch: %{rust_arches}
- rust-inflate
ExclusiveArch: %{rust_arches}
- rust-inlinable_string
ExclusiveArch: %{rust_arches}
- rust-inotify
ExclusiveArch: %{rust_arches}
- rust-inotify-sys
ExclusiveArch: %{rust_arches}
- rust-inout
ExclusiveArch: %{rust_arches}
- rust-input_buffer
ExclusiveArch: %{rust_arches}
- rust-insta
ExclusiveArch: %{rust_arches}
- rust-instant
ExclusiveArch: %{rust_arches}
- rust-integer-encoding
ExclusiveArch: %{rust_arches}
- rust-interpolate_name
ExclusiveArch: %{rust_arches}
- rust-intervaltree
ExclusiveArch: %{rust_arches}
- rust-intl-memoizer
ExclusiveArch: %{rust_arches}
- rust-invalidstring
ExclusiveArch: %{rust_arches}
- rust-inventory
ExclusiveArch: %{rust_arches}
- rust-inventory-impl
ExclusiveArch: %{rust_arches}
- rust-inventory0.1
ExclusiveArch: %{rust_arches}
- rust-ioctl-rs
ExclusiveArch: %{rust_arches}
- rust-iocuddle
ExclusiveArch: %{rust_arches}
- rust-iovec
ExclusiveArch: %{rust_arches}
- rust-ipnetwork
ExclusiveArch: %{rust_arches}
- rust-ipnetwork0.17
ExclusiveArch: %{rust_arches}
- rust-iptables
ExclusiveArch: %{rust_arches}
- rust-is_ci
ExclusiveArch: %{rust_arches}
- rust-is_debug
ExclusiveArch: %{rust_arches}
- rust-is_executable
ExclusiveArch: %{rust_arches}
- rust-iso8601
ExclusiveArch: %{rust_arches}
- rust-iter-read
ExclusiveArch: %{rust_arches}
- rust-itertools
ExclusiveArch: %{rust_arches}
- rust-itertools-num
ExclusiveArch: %{rust_arches}
- rust-itertools0.8
ExclusiveArch: %{rust_arches}
- rust-itertools0.9
ExclusiveArch: %{rust_arches}
- rust-itoa0.4
ExclusiveArch: %{rust_arches}
- rust-ivf
ExclusiveArch: %{rust_arches}
- rust-jobserver
ExclusiveArch: %{rust_arches}
- rust-josekit
ExclusiveArch: %{rust_arches}
- rust-jpeg-decoder
ExclusiveArch: %{rust_arches}
- rust-jpeg-decoder0.1
ExclusiveArch: %{rust_arches}
- rust-json
ExclusiveArch: %{rust_arches}
- rust-json5
ExclusiveArch: %{rust_arches}
- rust-just
ExclusiveArch: %{rust_arches}
- rust-k9
ExclusiveArch: %{rust_arches}
- rust-khronos_api
ExclusiveArch: %{rust_arches}
- rust-konst
ExclusiveArch: %{rust_arches}
- rust-konst_macro_rules
ExclusiveArch: %{rust_arches}
- rust-konst_proc_macros
ExclusiveArch: %{rust_arches}
- rust-krunvm
ExclusiveArch: x86_64 aarch64
- rust-kstring
ExclusiveArch: %{rust_arches}
- rust-kv-log-macro
ExclusiveArch: %{rust_arches}
- rust-kvm-bindings
ExclusiveArch: %{rust_arches}
- rust-kvm-ioctls
ExclusiveArch: x86_64 aarch64
- rust-lalrpop
ExclusiveArch: %{rust_arches}
- rust-lalrpop-util
ExclusiveArch: %{rust_arches}
- rust-language-tags
ExclusiveArch: %{rust_arches}
- rust-lazy_static
ExclusiveArch: %{rust_arches}
- rust-lazycell
ExclusiveArch: %{rust_arches}
- rust-leb128
ExclusiveArch: %{rust_arches}
- rust-lebe
ExclusiveArch: %{rust_arches}
- rust-lev_distance
ExclusiveArch: %{rust_arches}
- rust-lexiclean
ExclusiveArch: %{rust_arches}
- rust-lexopt
ExclusiveArch: %{rust_arches}
- rust-libblkid-rs
ExclusiveArch: %{rust_arches}
- rust-libblkid-rs-sys
ExclusiveArch: %{rust_arches}
- rust-libcryptsetup-rs
ExclusiveArch: %{rust_arches}
- rust-libcryptsetup-rs-sys
ExclusiveArch: %{rust_arches}
- rust-libdbus-sys
ExclusiveArch: %{rust_arches}
- rust-libflate
ExclusiveArch: %{rust_arches}
- rust-libflate_lz77
ExclusiveArch: %{rust_arches}
- rust-libhandy
ExclusiveArch: %{rust_arches}
- rust-libhandy-sys
ExclusiveArch: %{rust_arches}
- rust-libmount
ExclusiveArch: %{rust_arches}
- rust-liboverdrop
ExclusiveArch: %{rust_arches}
- rust-libpulse-binding
ExclusiveArch: %{rust_arches}
- rust-libpulse-sys
ExclusiveArch: %{rust_arches}
- rust-libseccomp-sys
ExclusiveArch: %{rust_arches}
- rust-libslirp
ExclusiveArch: %{rust_arches}
- rust-libslirp-sys
ExclusiveArch: %{rust_arches}
- rust-libsodium-sys
ExclusiveArch: %{rust_arches}
- rust-libspa
ExclusiveArch: %{rust_arches}
- rust-libspa-sys
ExclusiveArch: %{rust_arches}
- rust-libsqlite3-sys
ExclusiveArch: %{rust_arches}
- rust-libssh2-sys
ExclusiveArch: %{rust_arches}
- rust-libsystemd
ExclusiveArch: %{rust_arches}
- rust-libudev-sys
ExclusiveArch: %{rust_arches}
- rust-libxml
ExclusiveArch: %{rust_arches}
- rust-libz-sys
ExclusiveArch: %{rust_arches}
- rust-line-wrap
ExclusiveArch: %{rust_arches}
- rust-linked-hash-map
ExclusiveArch: %{rust_arches}
- rust-linkify
ExclusiveArch: %{rust_arches}
- rust-lino
ExclusiveArch: %{rust_arches}
- rust-linreg
ExclusiveArch: %{rust_arches}
- rust-linux_proc
ExclusiveArch: %{rust_arches}
- rust-listenfd
ExclusiveArch: %{rust_arches}
- rust-lmdb
ExclusiveArch: %{rust_arches}
- rust-lmdb-sys
ExclusiveArch: %{rust_arches}
- rust-local-channel
ExclusiveArch: %{rust_arches}
- rust-local-encoding
ExclusiveArch: %{rust_arches}
- rust-local-waker
ExclusiveArch: %{rust_arches}
- rust-local_ipaddress
ExclusiveArch: %{rust_arches}
- rust-locale
ExclusiveArch: %{rust_arches}
- rust-locale_config
ExclusiveArch: %{rust_arches}
- rust-lock_api
ExclusiveArch: %{rust_arches}
- rust-log
ExclusiveArch: %{rust_arches}
- rust-log-mdc
ExclusiveArch: %{rust_arches}
- rust-log-panics
ExclusiveArch: %{rust_arches}
- rust-log0.3
ExclusiveArch: %{rust_arches}
- rust-loopdev
ExclusiveArch: %{rust_arches}
- rust-lru-cache
ExclusiveArch: %{rust_arches}
- rust-lsd
ExclusiveArch: %{rust_arches}
- rust-mac
ExclusiveArch: %{rust_arches}
- rust-mac_address
ExclusiveArch: %{rust_arches}
- rust-madvr_parse
ExclusiveArch: %{rust_arches}
- rust-maildir
ExclusiveArch: %{rust_arches}
- rust-mailparse
ExclusiveArch: %{rust_arches}
- rust-man
ExclusiveArch: %{rust_arches}
- rust-maplit
ExclusiveArch: %{rust_arches}
- rust-markup5ever
ExclusiveArch: %{rust_arches}
- rust-markup5ever_rcdom
ExclusiveArch: %{rust_arches}
- rust-match_cfg
ExclusiveArch: %{rust_arches}
- rust-matches
ExclusiveArch: %{rust_arches}
- rust-matrixcompare
ExclusiveArch: %{rust_arches}
- rust-matrixcompare-core
ExclusiveArch: %{rust_arches}
- rust-matrixcompare-mock
ExclusiveArch: %{rust_arches}
- rust-matrixmultiply
ExclusiveArch: %{rust_arches}
- rust-maybe-uninit
ExclusiveArch: %{rust_arches}
- rust-mbox
ExclusiveArch: %{rust_arches}
- rust-mbrman
ExclusiveArch: %{rust_arches}
- rust-md-5
ExclusiveArch: %{rust_arches}
- rust-md-5_0.9
ExclusiveArch: %{rust_arches}
- rust-md5
ExclusiveArch: %{rust_arches}
- rust-memcached-rs
ExclusiveArch: %{rust_arches}
- rust-memchr
ExclusiveArch: %{rust_arches}
- rust-memmap
ExclusiveArch: %{rust_arches}
- rust-memmap2_0.3
ExclusiveArch: %{rust_arches}
- rust-memmem
ExclusiveArch: %{rust_arches}
- rust-memoffset0.5
ExclusiveArch: %{rust_arches}
- rust-memsec
ExclusiveArch: %{rust_arches}
- rust-micro-timer
ExclusiveArch: %{rust_arches}
- rust-micro-timer-macros
ExclusiveArch: %{rust_arches}
- rust-mime
ExclusiveArch: %{rust_arches}
- rust-minimad
ExclusiveArch: %{rust_arches}
- rust-minimal-lexical
ExclusiveArch: %{rust_arches}
- rust-miniz_oxide
ExclusiveArch: %{rust_arches}
- rust-miniz_oxide0.3
ExclusiveArch: %{rust_arches}
- rust-mint
ExclusiveArch: %{rust_arches}
- rust-mio-extras
ExclusiveArch: %{rust_arches}
- rust-mio-uds
ExclusiveArch: %{rust_arches}
- rust-mio0.6
ExclusiveArch: %{rust_arches}
- rust-mio0.7
ExclusiveArch: %{rust_arches}
- rust-mockall_double
ExclusiveArch: %{rust_arches}
- rust-mockito
ExclusiveArch: %{rust_arches}
- rust-mptcp-pm
ExclusiveArch: %{rust_arches}
- rust-multer
ExclusiveArch: %{rust_arches}
- rust-multimap
ExclusiveArch: %{rust_arches}
- rust-mustache
ExclusiveArch: %{rust_arches}
- rust-nalgebra-macros
ExclusiveArch: %{rust_arches}
- rust-nanorand
ExclusiveArch: %{rust_arches}
- rust-nasm-rs
ExclusiveArch: %{rust_arches}
- rust-natord
ExclusiveArch: %{rust_arches}
- rust-navi
ExclusiveArch: %{rust_arches}
- rust-nb-connect
ExclusiveArch: %{rust_arches}
- rust-ncurses
ExclusiveArch: %{rust_arches}
- rust-netlink-packet-core
ExclusiveArch: %{rust_arches}
- rust-netlink-packet-generic
ExclusiveArch: %{rust_arches}
- rust-netlink-packet-route
ExclusiveArch: %{rust_arches}
- rust-netlink-packet-utils
ExclusiveArch: %{rust_arches}
- rust-netlink-proto
ExclusiveArch: %{rust_arches}
- rust-netlink-sys
ExclusiveArch: %{rust_arches}
- rust-netmap_sys
ExclusiveArch: %{rust_arches}
- rust-netstat2
ExclusiveArch: %{rust_arches}
- rust-nettle
ExclusiveArch: %{rust_arches}
- rust-nettle-sys
ExclusiveArch: %{rust_arches}
- rust-new_debug_unreachable
ExclusiveArch: %{rust_arches}
- rust-nix0.14
ExclusiveArch: %{rust_arches}
- rust-nix0.17
ExclusiveArch: %{rust_arches}
- rust-nix0.18
ExclusiveArch: %{rust_arches}
- rust-nix0.20
ExclusiveArch: %{rust_arches}
- rust-nix0.22
ExclusiveArch: %{rust_arches}
- rust-nix0.23
ExclusiveArch: %{rust_arches}
- rust-nodrop
ExclusiveArch: %{rust_arches}
- rust-nohash-hasher
ExclusiveArch: %{rust_arches}
- rust-nom
ExclusiveArch: %{rust_arches}
- rust-nom4
ExclusiveArch: %{rust_arches}
- rust-nom5
ExclusiveArch: %{rust_arches}
- rust-noop_proc_macro
ExclusiveArch: %{rust_arches}
- rust-normalize-line-endings
ExclusiveArch: %{rust_arches}
- rust-notify
ExclusiveArch: %{rust_arches}
- rust-notify-rust
ExclusiveArch: %{rust_arches}
- rust-nu-ansi-term
ExclusiveArch: %{rust_arches}
- rust-nu-engine
ExclusiveArch: %{rust_arches}
- rust-nu-parser
ExclusiveArch: %{rust_arches}
- rust-nu-plugin
ExclusiveArch: %{rust_arches}
- rust-nu-protocol
ExclusiveArch: %{rust_arches}
- rust-nu-system
ExclusiveArch: %{rust_arches}
- rust-num
ExclusiveArch: %{rust_arches}
- rust-num-bigint
ExclusiveArch: %{rust_arches}
- rust-num-bigint-dig
ExclusiveArch: %{rust_arches}
- rust-num-bigint0.3
ExclusiveArch: %{rust_arches}
- rust-num-complex
ExclusiveArch: %{rust_arches}
- rust-num-complex0.3
ExclusiveArch: %{rust_arches}
- rust-num-derive
ExclusiveArch: %{rust_arches}
- rust-num-integer
ExclusiveArch: %{rust_arches}
- rust-num-iter
ExclusiveArch: %{rust_arches}
- rust-num-rational
ExclusiveArch: %{rust_arches}
- rust-num-rational0.3
ExclusiveArch: %{rust_arches}
- rust-num-traits
ExclusiveArch: %{rust_arches}
- rust-num-traits0.1
ExclusiveArch: %{rust_arches}
- rust-num0.3
ExclusiveArch: %{rust_arches}
- rust-num_enum
ExclusiveArch: %{rust_arches}
- rust-num_enum_derive
ExclusiveArch: %{rust_arches}
- rust-num_threads
ExclusiveArch: %{rust_arches}
- rust-number_prefix
ExclusiveArch: %{rust_arches}
- rust-numtoa
ExclusiveArch: %{rust_arches}
- rust-object
ExclusiveArch: %{rust_arches}
- rust-oid
ExclusiveArch: %{rust_arches}
- rust-onig
ExclusiveArch: %{rust_arches}
- rust-onig_sys
ExclusiveArch: %{rust_arches}
- rust-opaque-debug
ExclusiveArch: %{rust_arches}
- rust-openat
ExclusiveArch: %{rust_arches}
- rust-openat-ext
ExclusiveArch: %{rust_arches}
- rust-opener
ExclusiveArch: %{rust_arches}
- rust-openssh-keys
ExclusiveArch: %{rust_arches}
- rust-openssl-kdf
ExclusiveArch: %{rust_arches}
- rust-openssl-macros
ExclusiveArch: %{rust_arches}
- rust-openssl-probe
ExclusiveArch: %{rust_arches}
- rust-option-operations
ExclusiveArch: %{rust_arches}
- rust-ord_subset
ExclusiveArch: %{rust_arches}
- rust-ordered-float2
ExclusiveArch: %{rust_arches}
- rust-ordered-stream
ExclusiveArch: %{rust_arches}
- rust-os-release
ExclusiveArch: %{rust_arches}
- rust-os_display
ExclusiveArch: %{rust_arches}
- rust-os_info
ExclusiveArch: %{rust_arches}
- rust-os_pipe0.9
ExclusiveArch: %{rust_arches}
- rust-os_type
ExclusiveArch: %{rust_arches}
- rust-osmesa-sys
ExclusiveArch: %{rust_arches}
- rust-ouroboros
ExclusiveArch: %{rust_arches}
- rust-ouroboros_macro
ExclusiveArch: %{rust_arches}
- rust-overload
ExclusiveArch: %{rust_arches}
- rust-owning_ref
ExclusiveArch: %{rust_arches}
- rust-owo-colors
ExclusiveArch: %{rust_arches}
- rust-packaging
ExclusiveArch: %{rust_arches}
- rust-pad
ExclusiveArch: %{rust_arches}
- rust-page_size
ExclusiveArch: %{rust_arches}
- rust-pager
ExclusiveArch: %{rust_arches}
- rust-palette_derive
ExclusiveArch: %{rust_arches}
- rust-pam
ExclusiveArch: %{rust_arches}
- rust-pam-sys
ExclusiveArch: %{rust_arches}
- rust-paris
ExclusiveArch: %{rust_arches}
- rust-parking
ExclusiveArch: %{rust_arches}
- rust-parking_lot
ExclusiveArch: %{rust_arches}
- rust-parking_lot0.11
ExclusiveArch: %{rust_arches}
- rust-parse-zoneinfo
ExclusiveArch: %{rust_arches}
- rust-parsec-client
ExclusiveArch: %{rust_arches}
- rust-parsec-interface
ExclusiveArch: %{rust_arches}
- rust-partition-identity
ExclusiveArch: %{rust_arches}
- rust-passwd
ExclusiveArch: %{rust_arches}
- rust-password-hash
ExclusiveArch: %{rust_arches}
- rust-path-slash
ExclusiveArch: %{rust_arches}
- rust-pathdiff
ExclusiveArch: %{rust_arches}
- rust-pathfinder_geometry
ExclusiveArch: %{rust_arches}
- rust-pathfinder_simd
ExclusiveArch: %{rust_arches}
- rust-pathsearch
ExclusiveArch: %{rust_arches}
- rust-pbkdf2
ExclusiveArch: %{rust_arches}
- rust-pcap
ExclusiveArch: %{rust_arches}
- rust-pcre2
ExclusiveArch: %{rust_arches}
- rust-pcre2-sys
ExclusiveArch: %{rust_arches}
- rust-peeking_take_while
ExclusiveArch: %{rust_arches}
- rust-peg
ExclusiveArch: %{rust_arches}
- rust-peg-macros
ExclusiveArch: %{rust_arches}
- rust-peg-runtime
ExclusiveArch: %{rust_arches}
- rust-peg0.5
ExclusiveArch: %{rust_arches}
- rust-pem-rfc7468
ExclusiveArch: %{rust_arches}
- rust-pem0.8
ExclusiveArch: %{rust_arches}
- rust-percent-encoding
ExclusiveArch: %{rust_arches}
- rust-percent-encoding1
ExclusiveArch: %{rust_arches}
- rust-peresil
ExclusiveArch: %{rust_arches}
- rust-permutohedron
ExclusiveArch: %{rust_arches}
- rust-pest
ExclusiveArch: %{rust_arches}
- rust-pest_derive
ExclusiveArch: %{rust_arches}
- rust-pest_generator
ExclusiveArch: %{rust_arches}
- rust-pest_meta
ExclusiveArch: %{rust_arches}
- rust-petgraph
ExclusiveArch: %{rust_arches}
- rust-petgraph0.5
ExclusiveArch: %{rust_arches}
- rust-phf
ExclusiveArch: %{rust_arches}
- rust-phf0.8
ExclusiveArch: %{rust_arches}
- rust-phf_codegen
ExclusiveArch: %{rust_arches}
- rust-phf_macros
ExclusiveArch: %{rust_arches}
- rust-phf_macros0.8
ExclusiveArch: %{rust_arches}
- rust-phf_shared
ExclusiveArch: %{rust_arches}
- rust-phf_shared0.8
ExclusiveArch: %{rust_arches}
- rust-picky-asn1
ExclusiveArch: %{rust_arches}
- rust-picky-asn1-der
ExclusiveArch: %{rust_arches}
- rust-picky-asn1-x509
ExclusiveArch: %{rust_arches}
- rust-pico-args
ExclusiveArch: %{rust_arches}
- rust-pid
ExclusiveArch: %{rust_arches}
- rust-pin-project
ExclusiveArch: %{rust_arches}
- rust-pin-project-internal
ExclusiveArch: %{rust_arches}
- rust-pin-project-internal0.4
ExclusiveArch: %{rust_arches}
- rust-pin-project-lite
ExclusiveArch: %{rust_arches}
- rust-pin-project-lite0.1
ExclusiveArch: %{rust_arches}
- rust-pin-project0.4
ExclusiveArch: %{rust_arches}
- rust-pin-utils
ExclusiveArch: %{rust_arches}
- rust-pipewire
ExclusiveArch: %{rust_arches}
- rust-pipewire-sys
ExclusiveArch: %{rust_arches}
- rust-pkcs1
ExclusiveArch: %{rust_arches}
- rust-pkcs5
ExclusiveArch: %{rust_arches}
- rust-pkcs8
ExclusiveArch: %{rust_arches}
- rust-plain
ExclusiveArch: %{rust_arches}
- rust-platform-info
ExclusiveArch: %{rust_arches}
- rust-plist
ExclusiveArch: %{rust_arches}
- rust-plotlib
ExclusiveArch: %{rust_arches}
- rust-pnet_base
ExclusiveArch: %{rust_arches}
- rust-pnet_datalink
ExclusiveArch: %{rust_arches}
- rust-pnet_sys
ExclusiveArch: %{rust_arches}
- rust-png
ExclusiveArch: %{rust_arches}
- rust-png0.16
ExclusiveArch: %{rust_arches}
- rust-podio
ExclusiveArch: %{rust_arches}
- rust-polyval
ExclusiveArch: %{rust_arches}
- rust-pom
ExclusiveArch: %{rust_arches}
- rust-pq-sys
ExclusiveArch: %{rust_arches}
- rust-precomputed-hash
ExclusiveArch: %{rust_arches}
- rust-predicates
ExclusiveArch: %{rust_arches}
- rust-predicates1
ExclusiveArch: %{rust_arches}
- rust-pretty-bytes
ExclusiveArch: %{rust_arches}
- rust-pretty-git-prompt
ExclusiveArch: %{rust_arches}
- rust-pretty-hex
ExclusiveArch: %{rust_arches}
- rust-pretty_assertions
ExclusiveArch: %{rust_arches}
- rust-pretty_assertions0.6
ExclusiveArch: %{rust_arches}
- rust-pretty_assertions0.7
ExclusiveArch: %{rust_arches}
- rust-pretty_env_logger
ExclusiveArch: %{rust_arches}
- rust-prettytable-rs
ExclusiveArch: %{rust_arches}
- rust-primal-bit
ExclusiveArch: %{rust_arches}
- rust-primal-check
ExclusiveArch: %{rust_arches}
- rust-primal-estimate
ExclusiveArch: %{rust_arches}
- rust-proc-macro-crate
ExclusiveArch: %{rust_arches}
- rust-proc-macro-crate0.1
ExclusiveArch: %{rust_arches}
- rust-proc-macro-error
ExclusiveArch: %{rust_arches}
- rust-proc-macro-error-attr
ExclusiveArch: %{rust_arches}
- rust-proc-macro-hack
ExclusiveArch: %{rust_arches}
- rust-proc-macro2-0.4
ExclusiveArch: %{rust_arches}
- rust-proc-maps
ExclusiveArch: %{rust_arches}
- rust-proc-mounts
ExclusiveArch: %{rust_arches}
- rust-process_control
ExclusiveArch: %{rust_arches}
- rust-procfs
ExclusiveArch: %{rust_arches}
- rust-procfs0.9
ExclusiveArch: %{rust_arches}
- rust-procs
ExclusiveArch: %{rust_arches}
- rust-progress-streams
ExclusiveArch: %{rust_arches}
- rust-prometheus
ExclusiveArch: %{rust_arches}
- rust-proptest
ExclusiveArch: %{rust_arches}
- rust-proptest0.10
ExclusiveArch: %{rust_arches}
- rust-prost
ExclusiveArch: %{rust_arches}
- rust-prost-build
ExclusiveArch: %{rust_arches}
- rust-prost-derive
ExclusiveArch: %{rust_arches}
- rust-prost-derive0.8
ExclusiveArch: %{rust_arches}
- rust-prost-types
ExclusiveArch: %{rust_arches}
- rust-prost0.8
ExclusiveArch: %{rust_arches}
- rust-protobuf
ExclusiveArch: %{rust_arches}
- rust-protobuf-codegen
ExclusiveArch: %{rust_arches}
- rust-protobuf-codegen-pure
ExclusiveArch: %{rust_arches}
- rust-protoc
ExclusiveArch: %{rust_arches}
- rust-psa-crypto
ExclusiveArch: %{rust_arches}
- rust-psa-crypto-sys
ExclusiveArch: %{rust_arches}
- rust-psl-types
ExclusiveArch: %{rust_arches}
- rust-psm
ExclusiveArch: %{rust_arches}
- rust-ptr_meta
ExclusiveArch: %{rust_arches}
- rust-ptr_meta_derive
ExclusiveArch: %{rust_arches}
- rust-pulse
ExclusiveArch: %{rust_arches}
- rust-pure-rust-locales
ExclusiveArch: %{rust_arches}
- rust-pwd
ExclusiveArch: %{rust_arches}
- rust-python-launcher
ExclusiveArch: %{rust_arches}
- rust-qstring
ExclusiveArch: %{rust_arches}
- rust-quantiles
ExclusiveArch: %{rust_arches}
- rust-quick-error
ExclusiveArch: %{rust_arches}
- rust-quick-error1
ExclusiveArch: %{rust_arches}
- rust-quick-xml0.22
ExclusiveArch: %{rust_arches}
- rust-quickcheck
ExclusiveArch: %{rust_arches}
- rust-quickcheck0.6
ExclusiveArch: %{rust_arches}
- rust-quickcheck0.9
ExclusiveArch: %{rust_arches}
- rust-quickcheck_macros
ExclusiveArch: %{rust_arches}
- rust-quicli
ExclusiveArch: %{rust_arches}
- rust-quote0.3
ExclusiveArch: %{rust_arches}
- rust-quote0.6
ExclusiveArch: %{rust_arches}
- rust-r2d2
ExclusiveArch: %{rust_arches}
- rust-radium
ExclusiveArch: %{rust_arches}
- rust-rand
ExclusiveArch: %{rust_arches}
- rust-rand0.4
ExclusiveArch: %{rust_arches}
- rust-rand0.5
ExclusiveArch: %{rust_arches}
- rust-rand0.6
ExclusiveArch: %{rust_arches}
- rust-rand0.7
ExclusiveArch: %{rust_arches}
- rust-rand_chacha
ExclusiveArch: %{rust_arches}
- rust-rand_chacha0.1
ExclusiveArch: %{rust_arches}
- rust-rand_chacha0.2
ExclusiveArch: %{rust_arches}
- rust-rand_core
ExclusiveArch: %{rust_arches}
- rust-rand_core0.3
ExclusiveArch: %{rust_arches}
- rust-rand_core0.4
ExclusiveArch: %{rust_arches}
- rust-rand_core0.5
ExclusiveArch: %{rust_arches}
- rust-rand_distr
ExclusiveArch: %{rust_arches}
- rust-rand_hc
ExclusiveArch: %{rust_arches}
- rust-rand_hc0.1
ExclusiveArch: %{rust_arches}
- rust-rand_isaac
ExclusiveArch: %{rust_arches}
- rust-rand_isaac0.1
ExclusiveArch: %{rust_arches}
- rust-rand_jitter
ExclusiveArch: %{rust_arches}
- rust-rand_jitter0.1
ExclusiveArch: %{rust_arches}
- rust-rand_os
ExclusiveArch: %{rust_arches}
- rust-rand_os0.1
ExclusiveArch: %{rust_arches}
- rust-rand_pcg
ExclusiveArch: %{rust_arches}
- rust-rand_pcg0.1
ExclusiveArch: %{rust_arches}
- rust-rand_pcg0.2
ExclusiveArch: %{rust_arches}
- rust-rand_xorshift
ExclusiveArch: %{rust_arches}
- rust-rand_xorshift0.1
ExclusiveArch: %{rust_arches}
- rust-rand_xorshift0.2
ExclusiveArch: %{rust_arches}
- rust-rand_xoshiro
ExclusiveArch: %{rust_arches}
- rust-random
ExclusiveArch: %{rust_arches}
- rust-random-fast-rng
ExclusiveArch: %{rust_arches}
- rust-random-trait
ExclusiveArch: %{rust_arches}
- rust-randomize
ExclusiveArch: %{rust_arches}
- rust-rav1e
ExclusiveArch: %{rust_arches}
- rust-raw-window-handle
ExclusiveArch: %{rust_arches}
- rust-rawpointer
ExclusiveArch: %{rust_arches}
- rust-rawslice
ExclusiveArch: %{rust_arches}
- rust-rbspy
ExclusiveArch: %{rust_arches}
- rust-rbspy-ruby-structs
ExclusiveArch: %{rust_arches}
- rust-rbspy-testdata
ExclusiveArch: %{rust_arches}
- rust-rctree
ExclusiveArch: %{rust_arches}
- rust-rd-agent
ExclusiveArch: %{rust_arches}
- rust-rd-agent-intf
ExclusiveArch: %{rust_arches}
- rust-rd-hashd
ExclusiveArch: %{rust_arches}
- rust-rd-hashd-intf
ExclusiveArch: %{rust_arches}
- rust-rd-util
ExclusiveArch: %{rust_arches}
- rust-read-process-memory
ExclusiveArch: %{rust_arches}
- rust-read_input
ExclusiveArch: %{rust_arches}
- rust-readwrite
ExclusiveArch: %{rust_arches}
- rust-regex-automata
ExclusiveArch: %{rust_arches}
- rust-region
ExclusiveArch: %{rust_arches}
- rust-remoteprocess
ExclusiveArch: %{rust_arches}
- rust-remove_dir_all
ExclusiveArch: %{rust_arches}
- rust-rend
ExclusiveArch: %{rust_arches}
- rust-reqwest
ExclusiveArch: %{rust_arches}
- rust-resctl-bench
ExclusiveArch: %{rust_arches}
- rust-resctl-bench-intf
ExclusiveArch: %{rust_arches}
- rust-resctl-demo
ExclusiveArch: %{rust_arches}
- rust-resize
ExclusiveArch: %{rust_arches}
- rust-resolv-conf
ExclusiveArch: %{rust_arches}
- rust-retry
ExclusiveArch: %{rust_arches}
- rust-rgb
ExclusiveArch: %{rust_arches}
- rust-ring
ExclusiveArch: %{rust_arches}
- rust-ripgrep
ExclusiveArch: %{rust_arches}
- rust-rkyv
ExclusiveArch: %{rust_arches}
- rust-rkyv_derive
ExclusiveArch: %{rust_arches}
- rust-rle-decode-fast
ExclusiveArch: %{rust_arches}
- rust-rmp
ExclusiveArch: %{rust_arches}
- rust-rmp-serde
ExclusiveArch: %{rust_arches}
- rust-rmpv
ExclusiveArch: %{rust_arches}
- rust-roff
ExclusiveArch: %{rust_arches}
- rust-ron
ExclusiveArch: %{rust_arches}
- rust-rpassword
ExclusiveArch: %{rust_arches}
- rust-rpick
ExclusiveArch: %{rust_arches}
- rust-rsa
ExclusiveArch: %{rust_arches}
- rust-rspec
ExclusiveArch: %{rust_arches}
- rust-rtnetlink
ExclusiveArch: %{rust_arches}
- rust-rusqlite
ExclusiveArch: %{rust_arches}
- rust-rust_decimal
ExclusiveArch: %{rust_arches}
- rust-rustbus_derive
ExclusiveArch: %{rust_arches}
- rust-rustc-hash
ExclusiveArch: %{rust_arches}
- rust-rustc-serialize
ExclusiveArch: %{rust_arches}
- rust-rustc-test
ExclusiveArch: %{rust_arches}
- rust-rustc_tools_util
ExclusiveArch: %{rust_arches}
- rust-rustc_version
ExclusiveArch: %{rust_arches}
- rust-rustc_version0.3
ExclusiveArch: %{rust_arches}
- rust-rustcat
ExclusiveArch: %{rust_arches}
- rust-rustfix
ExclusiveArch: %{rust_arches}
- rust-rustls-native-certs
ExclusiveArch: %{rust_arches}
- rust-rustls-pemfile
ExclusiveArch: %{rust_arches}
- rust-rusty-fork
ExclusiveArch: %{rust_arches}
- rust-rustyline
ExclusiveArch: %{rust_arches}
- rust-rustyline-derive
ExclusiveArch: %{rust_arches}
- rust-safe_arch
ExclusiveArch: %{rust_arches}
- rust-safemem
ExclusiveArch: %{rust_arches}
- rust-salsa20
ExclusiveArch: %{rust_arches}
- rust-same-file
ExclusiveArch: %{rust_arches}
- rust-scan_fmt
ExclusiveArch: %{rust_arches}
- rust-scheduled-thread-pool
ExclusiveArch: %{rust_arches}
- rust-schemafy_core
ExclusiveArch: %{rust_arches}
- rust-schemafy_lib
ExclusiveArch: %{rust_arches}
- rust-scoped_threadpool
ExclusiveArch: %{rust_arches}
- rust-scopeguard
ExclusiveArch: %{rust_arches}
- rust-scopetime
ExclusiveArch: %{rust_arches}
- rust-scratch
ExclusiveArch: %{rust_arches}
- rust-scroll
ExclusiveArch: %{rust_arches}
- rust-scroll_derive
ExclusiveArch: %{rust_arches}
- rust-scrypt
ExclusiveArch: %{rust_arches}
- rust-sct
ExclusiveArch: %{rust_arches}
- rust-sd
ExclusiveArch: %{rust_arches}
- rust-sd-notify
ExclusiveArch: %{rust_arches}
- rust-seahash
ExclusiveArch: %{rust_arches}
- rust-seahash3
ExclusiveArch: %{rust_arches}
- rust-secrecy
ExclusiveArch: %{rust_arches}
- rust-secret-service
ExclusiveArch: %{rust_arches}
- rust-selectors
ExclusiveArch: %{rust_arches}
- rust-self_cell
ExclusiveArch: %{rust_arches}
- rust-semver-parser
ExclusiveArch: %{rust_arches}
- rust-semver-parser0.9
ExclusiveArch: %{rust_arches}
- rust-semver0.11
ExclusiveArch: %{rust_arches}
- rust-sequoia-autocrypt
ExclusiveArch: %{rust_arches}
- rust-sequoia-ipc
ExclusiveArch: %{rust_arches}
- rust-sequoia-net
ExclusiveArch: %{rust_arches}
- rust-sequoia-octopus-librnp
ExclusiveArch: %{rust_arches}
- rust-sequoia-openpgp-mt
ExclusiveArch: %{rust_arches}
- rust-sequoia-sop
ExclusiveArch: %{rust_arches}
- rust-sequoia-sq
ExclusiveArch: %{rust_arches}
- rust-sequoia-sqv
ExclusiveArch: %{rust_arches}
- rust-serde-big-array
ExclusiveArch: %{rust_arches}
- rust-serde-value
ExclusiveArch: %{rust_arches}
- rust-serde-xml-rs
ExclusiveArch: %{rust_arches}
- rust-serde_bser
ExclusiveArch: %{rust_arches}
- rust-serde_cbor
ExclusiveArch: %{rust_arches}
- rust-serde_fmt
ExclusiveArch: %{rust_arches}
- rust-serde_qs
ExclusiveArch: %{rust_arches}
- rust-serde_url_params
ExclusiveArch: %{rust_arches}
- rust-serde_urlencoded
ExclusiveArch: %{rust_arches}
- rust-serde_with
ExclusiveArch: %{rust_arches}
- rust-serde_with_macros
ExclusiveArch: %{rust_arches}
- rust-serde_yaml0.8
ExclusiveArch: %{rust_arches}
- rust-serial-core
ExclusiveArch: %{rust_arches}
- rust-serial_test0.5
ExclusiveArch: %{rust_arches}
- rust-serial_test_derive0.5
ExclusiveArch: %{rust_arches}
- rust-servo-fontconfig
ExclusiveArch: %{rust_arches}
- rust-servo-fontconfig-sys
ExclusiveArch: %{rust_arches}
- rust-servo_arc
ExclusiveArch: %{rust_arches}
- rust-sev
ExclusiveArch: x86_64
- rust-sevctl
ExclusiveArch: x86_64
- rust-sha-1_0.9
ExclusiveArch: %{rust_arches}
- rust-sha1
ExclusiveArch: %{rust_arches}
- rust-sha1_0.6
ExclusiveArch: %{rust_arches}
- rust-sha1_smol
ExclusiveArch: %{rust_arches}
- rust-sha1collisiondetection
ExclusiveArch: %{rust_arches}
- rust-sha2
ExclusiveArch: %{rust_arches}
- rust-sha2_0.9
ExclusiveArch: %{rust_arches}
- rust-sha3_0.9
ExclusiveArch: %{rust_arches}
- rust-shadow-rs
ExclusiveArch: %{rust_arches}
- rust-sharded-slab
ExclusiveArch: %{rust_arches}
- rust-shared_child
ExclusiveArch: %{rust_arches}
- rust-shared_library
ExclusiveArch: %{rust_arches}
- rust-shell-escape
ExclusiveArch: %{rust_arches}
- rust-shell-words
ExclusiveArch: %{rust_arches}
- rust-shellexpand
ExclusiveArch: %{rust_arches}
- rust-shellwords
ExclusiveArch: %{rust_arches}
- rust-shlex
ExclusiveArch: %{rust_arches}
- rust-signal
ExclusiveArch: %{rust_arches}
- rust-signal-hook
ExclusiveArch: %{rust_arches}
- rust-signal-hook-mio
ExclusiveArch: %{rust_arches}
- rust-signal-hook-registry
ExclusiveArch: %{rust_arches}
- rust-signal-hook0.1
ExclusiveArch: %{rust_arches}
- rust-signature
ExclusiveArch: %{rust_arches}
- rust-signature_derive
ExclusiveArch: %{rust_arches}
- rust-silver
ExclusiveArch: %{rust_arches}
- rust-simd_helpers
ExclusiveArch: %{rust_arches}
- rust-similar-asserts
ExclusiveArch: %{rust_arches}
- rust-simple-error
ExclusiveArch: %{rust_arches}
- rust-simple_asn1
ExclusiveArch: %{rust_arches}
- rust-simple_logger
ExclusiveArch: %{rust_arches}
- rust-simplelog
ExclusiveArch: %{rust_arches}
- rust-sinit
ExclusiveArch: %{rust_arches}
- rust-siphasher
ExclusiveArch: %{rust_arches}
- rust-sized-chunks
ExclusiveArch: %{rust_arches}
- rust-skeptic
ExclusiveArch: %{rust_arches}
- rust-skim
ExclusiveArch: %{rust_arches}
- rust-slab
ExclusiveArch: %{rust_arches}
- rust-slog-async
ExclusiveArch: %{rust_arches}
- rust-slog-scope
ExclusiveArch: %{rust_arches}
- rust-slog-term
ExclusiveArch: %{rust_arches}
- rust-slug
ExclusiveArch: %{rust_arches}
- rust-smallbitvec
ExclusiveArch: %{rust_arches}
- rust-smallstr
ExclusiveArch: %{rust_arches}
- rust-smallvec
ExclusiveArch: %{rust_arches}
- rust-smawk
ExclusiveArch: %{rust_arches}
- rust-smithay-client-toolkit
ExclusiveArch: %{rust_arches}
- rust-smithay-clipboard
ExclusiveArch: %{rust_arches}
- rust-smol_str
ExclusiveArch: %{rust_arches}
- rust-snake_case
ExclusiveArch: %{rust_arches}
- rust-socket2
ExclusiveArch: %{rust_arches}
- rust-sop
ExclusiveArch: %{rust_arches}
- rust-spin
ExclusiveArch: %{rust_arches}
- rust-spin0.5
ExclusiveArch: %{rust_arches}
- rust-spin_on
ExclusiveArch: %{rust_arches}
- rust-spki
ExclusiveArch: %{rust_arches}
- rust-ssh-key-dir
ExclusiveArch: %{rust_arches}
- rust-stable_deref_trait
ExclusiveArch: %{rust_arches}
- rust-stacker
ExclusiveArch: %{rust_arches}
- rust-standback
ExclusiveArch: %{rust_arches}
- rust-static_assertions
ExclusiveArch: %{rust_arches}
- rust-statistical
ExclusiveArch: %{rust_arches}
- rust-statrs
ExclusiveArch: %{rust_arches}
- rust-stb_truetype
ExclusiveArch: %{rust_arches}
- rust-str_stack
ExclusiveArch: %{rust_arches}
- rust-stratisd_proc_macros
ExclusiveArch: %{rust_arches}
- rust-streaming-stats
ExclusiveArch: %{rust_arches}
- rust-streebog
ExclusiveArch: %{rust_arches}
- rust-streebog0.9
ExclusiveArch: %{rust_arches}
- rust-strict
ExclusiveArch: %{rust_arches}
- rust-string_cache
ExclusiveArch: %{rust_arches}
- rust-string_cache_codegen
ExclusiveArch: %{rust_arches}
- rust-strip-ansi-escapes
ExclusiveArch: %{rust_arches}
- rust-strsim
ExclusiveArch: %{rust_arches}
- rust-structopt
ExclusiveArch: %{rust_arches}
- rust-structopt-derive
ExclusiveArch: %{rust_arches}
- rust-structopt-derive0.2
ExclusiveArch: %{rust_arches}
- rust-structopt0.2
ExclusiveArch: %{rust_arches}
- rust-strum
ExclusiveArch: %{rust_arches}
- rust-strum0.21
ExclusiveArch: %{rust_arches}
- rust-strum_macros
ExclusiveArch: %{rust_arches}
- rust-strum_macros0.21
ExclusiveArch: %{rust_arches}
- rust-subprocess
ExclusiveArch: %{rust_arches}
- rust-subtle
ExclusiveArch: %{rust_arches}
- rust-sudo_plugin-sys
ExclusiveArch: %{rust_arches}
- rust-supports-color
ExclusiveArch: %{rust_arches}
- rust-supports-hyperlinks
ExclusiveArch: %{rust_arches}
- rust-supports-unicode
ExclusiveArch: %{rust_arches}
- rust-sval
ExclusiveArch: %{rust_arches}
- rust-sval_derive
ExclusiveArch: %{rust_arches}
- rust-sval_json
ExclusiveArch: %{rust_arches}
- rust-svg
ExclusiveArch: %{rust_arches}
- rust-syn0.15
ExclusiveArch: %{rust_arches}
- rust-synstructure
ExclusiveArch: %{rust_arches}
- rust-syntect
ExclusiveArch: %{rust_arches}
- rust-syntect4
ExclusiveArch: %{rust_arches}
- rust-sys-info
ExclusiveArch: %{rust_arches}
- rust-sysctl
ExclusiveArch: %{rust_arches}
- rust-sysinfo0.19
ExclusiveArch: %{rust_arches}
- rust-syslog
ExclusiveArch: %{rust_arches}
- rust-system76_ectool
ExclusiveArch: %{rust_arches}
- rust-tabular
ExclusiveArch: %{rust_arches}
- rust-take_mut
ExclusiveArch: %{rust_arches}
- rust-tap
ExclusiveArch: %{rust_arches}
- rust-tar
ExclusiveArch: %{rust_arches}
- rust-target
ExclusiveArch: %{rust_arches}
- rust-tealdeer
ExclusiveArch: %{rust_arches}
- rust-temp-env
ExclusiveArch: %{rust_arches}
- rust-temp_testdir
ExclusiveArch: %{rust_arches}
- rust-tempdir
ExclusiveArch: %{rust_arches}
- rust-tempfile
ExclusiveArch: %{rust_arches}
- rust-temporary
ExclusiveArch: %{rust_arches}
- rust-temptree
ExclusiveArch: %{rust_arches}
- rust-tendril
ExclusiveArch: %{rust_arches}
- rust-tera
ExclusiveArch: %{rust_arches}
- rust-term
ExclusiveArch: %{rust_arches}
- rust-term0.6
ExclusiveArch: %{rust_arches}
- rust-term_grid
ExclusiveArch: %{rust_arches}
- rust-term_size
ExclusiveArch: %{rust_arches}
- rust-termbg
ExclusiveArch: %{rust_arches}
- rust-termcolor
ExclusiveArch: %{rust_arches}
- rust-terminfo
ExclusiveArch: %{rust_arches}
- rust-termion
ExclusiveArch: %{rust_arches}
- rust-termios
ExclusiveArch: %{rust_arches}
- rust-test-assembler
ExclusiveArch: %{rust_arches}
- rust-test-case
ExclusiveArch: %{rust_arches}
- rust-tester
ExclusiveArch: %{rust_arches}
- rust-testing_logger
ExclusiveArch: %{rust_arches}
- rust-textwrap
ExclusiveArch: %{rust_arches}
- rust-textwrap0.11
ExclusiveArch: %{rust_arches}
- rust-textwrap0.14
ExclusiveArch: %{rust_arches}
- rust-thread-id
ExclusiveArch: %{rust_arches}
- rust-thread-tree
ExclusiveArch: %{rust_arches}
- rust-thread_local
ExclusiveArch: %{rust_arches}
- rust-threadpool
ExclusiveArch: %{rust_arches}
- rust-tiff
ExclusiveArch: %{rust_arches}
- rust-tiff0.6
ExclusiveArch: %{rust_arches}
- rust-tiger
ExclusiveArch: %{rust_arches}
- rust-time
ExclusiveArch: %{rust_arches}
- rust-time-macros
ExclusiveArch: %{rust_arches}
- rust-time-macros-impl
ExclusiveArch: %{rust_arches}
- rust-time-macros0.1
ExclusiveArch: %{rust_arches}
- rust-time0.2
ExclusiveArch: %{rust_arches}
- rust-timebomb
ExclusiveArch: %{rust_arches}
- rust-timer
ExclusiveArch: %{rust_arches}
- rust-tiny-keccak
ExclusiveArch: %{rust_arches}
- rust-tiny_http
ExclusiveArch: %{rust_arches}
- rust-tiny_http0.6
ExclusiveArch: %{rust_arches}
- rust-tinyvec
ExclusiveArch: %{rust_arches}
- rust-tinyvec_macros
ExclusiveArch: %{rust_arches}
- rust-tokei
ExclusiveArch: %{rust_arches}
- rust-tokio-codec
ExclusiveArch: %{rust_arches}
- rust-tokio-compat
ExclusiveArch: %{rust_arches}
- rust-tokio-core
ExclusiveArch: %{rust_arches}
- rust-tokio-current-thread
ExclusiveArch: %{rust_arches}
- rust-tokio-executor
ExclusiveArch: %{rust_arches}
- rust-tokio-fs
ExclusiveArch: %{rust_arches}
- rust-tokio-io
ExclusiveArch: %{rust_arches}
- rust-tokio-macros0.2
ExclusiveArch: %{rust_arches}
- rust-tokio-mock-task
ExclusiveArch: %{rust_arches}
- rust-tokio-native-tls
ExclusiveArch: %{rust_arches}
- rust-tokio-openssl
ExclusiveArch: %{rust_arches}
- rust-tokio-reactor
ExclusiveArch: %{rust_arches}
- rust-tokio-rustls
ExclusiveArch: %{rust_arches}
- rust-tokio-socks
ExclusiveArch: %{rust_arches}
- rust-tokio-sync
ExclusiveArch: %{rust_arches}
- rust-tokio-tcp
ExclusiveArch: %{rust_arches}
- rust-tokio-test
ExclusiveArch: %{rust_arches}
- rust-tokio-threadpool
ExclusiveArch: %{rust_arches}
- rust-tokio-timer
ExclusiveArch: %{rust_arches}
- rust-tokio-tungstenite
ExclusiveArch: %{rust_arches}
- rust-tokio-udp
ExclusiveArch: %{rust_arches}
- rust-tokio-uds
ExclusiveArch: %{rust_arches}
- rust-tokio-util
ExclusiveArch: %{rust_arches}
- rust-tokio-util0.6
ExclusiveArch: %{rust_arches}
- rust-tokio0.1
ExclusiveArch: %{rust_arches}
- rust-tokio0.2
ExclusiveArch: %{rust_arches}
- rust-toml0.4
ExclusiveArch: %{rust_arches}
- rust-toml_edit
ExclusiveArch: %{rust_arches}
- rust-totp-lite
ExclusiveArch: %{rust_arches}
- rust-tower-layer
ExclusiveArch: %{rust_arches}
- rust-tower-service
ExclusiveArch: %{rust_arches}
- rust-tower-test
ExclusiveArch: %{rust_arches}
- rust-tower-util
ExclusiveArch: %{rust_arches}
- rust-tpm2-policy
ExclusiveArch: %{rust_arches}
- rust-tracing
ExclusiveArch: %{rust_arches}
- rust-tracing-attributes
ExclusiveArch: %{rust_arches}
- rust-tracing-core
ExclusiveArch: %{rust_arches}
- rust-tracing-futures
ExclusiveArch: %{rust_arches}
- rust-tracing-log
ExclusiveArch: %{rust_arches}
- rust-trash
ExclusiveArch: %{rust_arches}
- rust-tree-sitter
ExclusiveArch: %{rust_arches}
- rust-tree-sitter-cli
ExclusiveArch: %{rust_arches}
- rust-tree-sitter-config
ExclusiveArch: %{rust_arches}
- rust-tree-sitter-highlight
ExclusiveArch: %{rust_arches}
- rust-tree-sitter-loader
ExclusiveArch: %{rust_arches}
- rust-tree-sitter-tags
ExclusiveArch: %{rust_arches}
- rust-treebitmap
ExclusiveArch: %{rust_arches}
- rust-treeline
ExclusiveArch: %{rust_arches}
- rust-trust-dns-proto
ExclusiveArch: %{rust_arches}
- rust-trust-dns-resolver
ExclusiveArch: %{rust_arches}
- rust-try-lock
ExclusiveArch: %{rust_arches}
- rust-tss-esapi
ExclusiveArch: %{rust_arches}
- rust-tss-esapi-sys
ExclusiveArch: %{rust_arches}
- rust-ttf-parser
ExclusiveArch: %{rust_arches}
- rust-ttf-parser0.12
ExclusiveArch: %{rust_arches}
- rust-tui
ExclusiveArch: %{rust_arches}
- rust-tui-react
ExclusiveArch: %{rust_arches}
- rust-tui0.11
ExclusiveArch: %{rust_arches}
- rust-tui0.9
ExclusiveArch: %{rust_arches}
- rust-tuikit
ExclusiveArch: %{rust_arches}
- rust-tungstenite
ExclusiveArch: %{rust_arches}
- rust-twoway
ExclusiveArch: %{rust_arches}
- rust-twox-hash
ExclusiveArch: %{rust_arches}
- rust-type-map
ExclusiveArch: %{rust_arches}
- rust-typed-arena
ExclusiveArch: %{rust_arches}
- rust-typed-arena1
ExclusiveArch: %{rust_arches}
- rust-typed-builder
ExclusiveArch: %{rust_arches}
- rust-typetag
ExclusiveArch: %{rust_arches}
- rust-typetag-impl
ExclusiveArch: %{rust_arches}
- rust-tzfile
ExclusiveArch: %{rust_arches}
- rust-ubyte
ExclusiveArch: %{rust_arches}
- rust-ucd-parse
ExclusiveArch: %{rust_arches}
- rust-ucd-trie
ExclusiveArch: %{rust_arches}
- rust-ucd-util
ExclusiveArch: %{rust_arches}
- rust-uefi-run
ExclusiveArch: %{rust_arches}
- rust-umask
ExclusiveArch: %{rust_arches}
- rust-uncased
ExclusiveArch: %{rust_arches}
- rust-unchecked-index
ExclusiveArch: %{rust_arches}
- rust-unescape
ExclusiveArch: %{rust_arches}
- rust-unic-char-property
ExclusiveArch: %{rust_arches}
- rust-unic-char-range
ExclusiveArch: %{rust_arches}
- rust-unic-common
ExclusiveArch: %{rust_arches}
- rust-unic-langid
ExclusiveArch: %{rust_arches}
- rust-unic-langid-macros
ExclusiveArch: %{rust_arches}
- rust-unic-langid-macros-impl
ExclusiveArch: %{rust_arches}
- rust-unic-locale
ExclusiveArch: %{rust_arches}
- rust-unic-locale-macros
ExclusiveArch: %{rust_arches}
- rust-unic-locale-macros-impl
ExclusiveArch: %{rust_arches}
- rust-unic-segment
ExclusiveArch: %{rust_arches}
- rust-unic-ucd-common
ExclusiveArch: %{rust_arches}
- rust-unic-ucd-segment
ExclusiveArch: %{rust_arches}
- rust-unic-ucd-version
ExclusiveArch: %{rust_arches}
- rust-unicase
ExclusiveArch: %{rust_arches}
- rust-unicase1
ExclusiveArch: %{rust_arches}
- rust-unicode-bidi
ExclusiveArch: %{rust_arches}
- rust-unicode-linebreak
ExclusiveArch: %{rust_arches}
- rust-unicode-normalization
ExclusiveArch: %{rust_arches}
- rust-unicode-segmentation
ExclusiveArch: %{rust_arches}
- rust-unicode-width
ExclusiveArch: %{rust_arches}
- rust-unicode-xid
ExclusiveArch: %{rust_arches}
- rust-unicode-xid0.1
ExclusiveArch: %{rust_arches}
- rust-unicode_categories
ExclusiveArch: %{rust_arches}
- rust-universal-hash
ExclusiveArch: %{rust_arches}
- rust-unix_socket
ExclusiveArch: %{rust_arches}
- rust-unreachable
ExclusiveArch: %{rust_arches}
- rust-untrusted
ExclusiveArch: %{rust_arches}
- rust-uriparse
ExclusiveArch: %{rust_arches}
- rust-url1
ExclusiveArch: %{rust_arches}
- rust-urlencoding
ExclusiveArch: %{rust_arches}
- rust-urlocator
ExclusiveArch: %{rust_arches}
- rust-users
ExclusiveArch: %{rust_arches}
- rust-users0.10
ExclusiveArch: %{rust_arches}
- rust-utf-8
ExclusiveArch: %{rust_arches}
- rust-utf8-width
ExclusiveArch: %{rust_arches}
- rust-utf8parse
ExclusiveArch: %{rust_arches}
- rust-uucore
ExclusiveArch: %{rust_arches}
- rust-uucore_procs
ExclusiveArch: %{rust_arches}
- rust-uuid0.7
ExclusiveArch: %{rust_arches}
- rust-uuid0.8
ExclusiveArch: %{rust_arches}
- rust-v_frame
ExclusiveArch: %{rust_arches}
- rust-value-bag
ExclusiveArch: %{rust_arches}
- rust-varbincode
ExclusiveArch: %{rust_arches}
- rust-varlink
ExclusiveArch: %{rust_arches}
- rust-varlink-cli
ExclusiveArch: %{rust_arches}
- rust-varlink_generator
ExclusiveArch: %{rust_arches}
- rust-varlink_parser
ExclusiveArch: %{rust_arches}
- rust-varlink_stdinterfaces
ExclusiveArch: %{rust_arches}
- rust-vcsgraph
ExclusiveArch: %{rust_arches}
- rust-vec_map
ExclusiveArch: %{rust_arches}
- rust-vergen
ExclusiveArch: %{rust_arches}
- rust-vergen3
ExclusiveArch: %{rust_arches}
- rust-version
ExclusiveArch: %{rust_arches}
- rust-version-sync
ExclusiveArch: %{rust_arches}
- rust-version-sync0.8
ExclusiveArch: %{rust_arches}
- rust-version_check
ExclusiveArch: %{rust_arches}
- rust-vhost
ExclusiveArch: %{rust_arches}
- rust-vhost-user-backend
ExclusiveArch: %{rust_arches}
- rust-virtio-bindings
ExclusiveArch: x86_64 aarch64 ppc64le
- rust-vmm-sys-util
ExclusiveArch: x86_64 aarch64 ppc64le
- rust-void
ExclusiveArch: %{rust_arches}
- rust-vsprintf
ExclusiveArch: %{rust_arches}
- rust-vte
ExclusiveArch: %{rust_arches}
- rust-vte_generate_state_changes
ExclusiveArch: %{rust_arches}
- rust-vtparse
ExclusiveArch: %{rust_arches}
- rust-wait-timeout
ExclusiveArch: %{rust_arches}
- rust-waker-fn
ExclusiveArch: %{rust_arches}
- rust-walkdir
ExclusiveArch: %{rust_arches}
- rust-want
ExclusiveArch: %{rust_arches}
- rust-warp
ExclusiveArch: %{rust_arches}
- rust-wasmer_enumset
ExclusiveArch: %{rust_arches}
- rust-wasmer_enumset_derive
ExclusiveArch: %{rust_arches}
- rust-watchman_client
ExclusiveArch: %{rust_arches}
- rust-web-ext-native-messaging
ExclusiveArch: %{rust_arches}
- rust-webbrowser
ExclusiveArch: %{rust_arches}
- rust-webpki
ExclusiveArch: %{rust_arches}
- rust-webpki-roots
ExclusiveArch: %{rust_arches}
- rust-weezl
ExclusiveArch: %{rust_arches}
- rust-wezterm-bidi
ExclusiveArch: %{rust_arches}
- rust-wezterm-color-types
ExclusiveArch: %{rust_arches}
- rust-wezterm-dynamic
ExclusiveArch: %{rust_arches}
- rust-wezterm-dynamic-derive
ExclusiveArch: %{rust_arches}
- rust-which
ExclusiveArch: %{rust_arches}
- rust-wide
ExclusiveArch: %{rust_arches}
- rust-wild
ExclusiveArch: %{rust_arches}
- rust-winit
ExclusiveArch: %{rust_arches}
- rust-wyz
ExclusiveArch: %{rust_arches}
- rust-x11-clipboard
ExclusiveArch: %{rust_arches}
- rust-xattr
ExclusiveArch: %{rust_arches}
- rust-xcb
ExclusiveArch: %{rust_arches}
- rust-xcursor
ExclusiveArch: %{rust_arches}
- rust-xdg
ExclusiveArch: %{rust_arches}
- rust-xi-unicode
ExclusiveArch: %{rust_arches}
- rust-xkbcommon
ExclusiveArch: %{rust_arches}
- rust-xml-rs
ExclusiveArch: %{rust_arches}
- rust-xmlwriter
ExclusiveArch: %{rust_arches}
- rust-xxhash-c-sys
ExclusiveArch: %{rust_arches}
- rust-xxhash-rust
ExclusiveArch: %{rust_arches}
- rust-xz2
ExclusiveArch: %{rust_arches}
- rust-y4m
ExclusiveArch: %{rust_arches}
- rust-yaml-rust
ExclusiveArch: %{rust_arches}
- rust-yaml-rust0.3
ExclusiveArch: %{rust_arches}
- rust-yansi
ExclusiveArch: %{rust_arches}
- rust-ybaas
ExclusiveArch: %{rust_arches}
- rust-yubibomb
ExclusiveArch: %{rust_arches}
- rust-z85
ExclusiveArch: %{rust_arches}
- rust-zbase32
ExclusiveArch: %{rust_arches}
- rust-zbus
ExclusiveArch: %{rust_arches}
- rust-zbus1
ExclusiveArch: %{rust_arches}
- rust-zbus_macros
ExclusiveArch: %{rust_arches}
- rust-zbus_macros1
ExclusiveArch: %{rust_arches}
- rust-zbus_names
ExclusiveArch: %{rust_arches}
- rust-zeroize
ExclusiveArch: %{rust_arches}
- rust-zincati
ExclusiveArch: %{rust_arches}
- rust-zip
ExclusiveArch: %{rust_arches}
- rust-zmq
ExclusiveArch: %{rust_arches}
- rust-zmq-sys
ExclusiveArch: %{rust_arches}
- rust-zoneinfo_compiled
ExclusiveArch: %{rust_arches}
- rust-zoxide
ExclusiveArch: %{rust_arches}
- rust-zram-generator
ExclusiveArch: %{rust_arches}
- rust-zstd
ExclusiveArch: %{rust_arches}
- rust-zstd-safe
ExclusiveArch: %{rust_arches}
- rust-zstd-sys
ExclusiveArch: %{rust_arches}
- rust-zvariant
ExclusiveArch: %{rust_arches}
- rust-zvariant2
ExclusiveArch: %{rust_arches}
- rust-zvariant_derive
ExclusiveArch: %{rust_arches}
- rust-zvariant_derive2
ExclusiveArch: %{rust_arches}
- s390utils
ExclusiveArch: s390 s390x
- sac
ExclusiveArch: %{java_arches} noarch
- safetyblanket
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- sagemath
ExclusiveArch: aarch64 x86_64
- sat4j
ExclusiveArch: %{java_arches} noarch
- sbcl
ExclusiveArch: %{arm} %{ix86} x86_64 ppc sparcv9 aarch64
- sbd
ExclusiveArch: i686 x86_64 s390x aarch64 ppc64le
- sblim-cim-client
ExclusiveArch: %{java_arches} noarch
- sblim-cim-client2
ExclusiveArch: %{java_arches} noarch
- sbsigntools
ExclusiveArch: x86_64 aarch64 %{arm} %{ix86}
- scala
ExclusiveArch: %{java_arches} noarch
- scalacheck
ExclusiveArch: %{java_arches} noarch
- scannotation
ExclusiveArch: %{java_arches} noarch
- sdljava
ExclusiveArch: %{java_arches}
- sdrangel
ExclusiveArch: %{qt5_qtwebengine_arches}
- sdsl-lite
ExclusiveArch: %{power64} x86_64 aarch64
- seabios
ExclusiveArch: x86_64
- seadrive-gui
ExclusiveArch: %{qt5_qtwebengine_arches}
- seafile-client
ExclusiveArch: %{qt5_qtwebengine_arches}
- seamonkey
ExclusiveArch: x86_64
- seqan3
ExclusiveArch: %{power64} x86_64 aarch64
- sequence-library
ExclusiveArch: %{java_arches} noarch
- serp
ExclusiveArch: %{java_arches} noarch
- servicelog
ExclusiveArch: ppc %{power64}
- sgabios
ExclusiveArch: %{ix86} x86_64
- shaman
ExclusiveArch: %{java_arches} noarch
- sharpfont
ExclusiveArch: %mono_arches
- sharpziplib
ExclusiveArch: %{mono_arches}
- shim
ExclusiveArch: %{efi}
- shim-unsigned-aarch64
ExclusiveArch: aarch64
- shim-unsigned-x64
ExclusiveArch: x86_64
- sigul
ExclusiveArch: x86_64
- singularity-ce
ExclusiveArch: %{go_arches}
- sisu
ExclusiveArch: %{java_arches} noarch
- sisu-mojos
ExclusiveArch: %{java_arches} noarch
- skopeo
ExclusiveArch: %{go_arches}
- skychart
ExclusiveArch: %{fpc_arches}
- slf4j
ExclusiveArch: %{java_arches} noarch
- slirp4netns
ExclusiveArch: %{golang_arches}
- snakeyaml
ExclusiveArch: %{java_arches} noarch
- snapd
ExclusiveArch: %{?golang_arches}%{!?golang_arches:%{ix86} x86_64 %{arm} aarch64 ppc64le s390x}
- snip
ExclusiveArch: %{java_arches} noarch
- softnet-stat
ExclusiveArch: %{rust_arches}
- soup-sharp
ExclusiveArch: %{mono_arches}
- spacebar
ExclusiveArch: %{java_arches}
- sparkleshare
ExclusiveArch: %{mono_arches}
- spec-version-maven-plugin
ExclusiveArch: %{java_arches} noarch
- spicctrl
ExclusiveArch: %{ix86} x86_64
- spice
ExclusiveArch: x86_64
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- spice-parent
ExclusiveArch: %{java_arches} noarch
- springlobby
ExclusiveArch: %{ix86} x86_64
- sqljet
ExclusiveArch: %{java_arches} noarch
- squeekboard
ExclusiveArch: %{rust_arches}
- startdde
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- statsd
ExclusiveArch: %{nodejs_arches} noarch
- stratis-cli
ExclusiveArch: %{rust_arches} noarch
- stratisd
ExclusiveArch: %{rust_arches}
ExclusiveArch: %{rust_arches}
- string-template-maven-plugin
ExclusiveArch: %{java_arches} noarch
- stringtemplate
ExclusiveArch: %{java_arches} noarch
- stringtemplate4
ExclusiveArch: %{java_arches} noarch
- stripesnoop
ExclusiveArch: %{ix86} x86_64
- subscription-manager-cockpit
ExclusiveArch: %{nodejs_arches} noarch
- supercollider
ExclusiveArch: %{qt5_qtwebengine_arches}
- supermin
ExclusiveArch: %{kernel_arches}
- svnkit
ExclusiveArch: %{java_arches} noarch
- svt-vp9
ExclusiveArch: x86_64
- swift-lang
ExclusiveArch: x86_64 aarch64
- swing-layout
ExclusiveArch: %{java_arches} noarch
- sysbench
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips}
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64 ppc64le s390x
- syslinux
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{ix86} x86_64
- system-rules
ExclusiveArch: %{java_arches} noarch
- system76-keyboard-configurator
ExclusiveArch: %{rust_arches}
- systemd-boot
ExclusiveArch: %efi
- t-digest
ExclusiveArch: %{java_arches} noarch
- taggle
ExclusiveArch: %{java_arches} noarch
- taglib-sharp
ExclusiveArch: %{mono_arches}
- tagsoup
ExclusiveArch: %{java_arches} noarch
- tarantool
ExclusiveArch: %{ix86} x86_64
- tboot
ExclusiveArch: %{ix86} x86_64
- tdlib
ExclusiveArch: x86_64 aarch64
- templates_parser
ExclusiveArch: %GPRbuild_arches
- ternimal
ExclusiveArch: %{rust_arches}
- test-interface
ExclusiveArch: %{java_arches} noarch
- testcloud
ExclusiveArch: %{kernel_arches} noarch
- testng
ExclusiveArch: %{java_arches} noarch
- texlive
ExclusiveArch: %{java_arches} noarch
- thermald
ExclusiveArch: %{ix86} x86_64
- tilix
ExclusiveArch: %{ldc_arches}
- tomboy
ExclusiveArch: %{mono_arches}
- tomcat
ExclusiveArch: %{java_arches} noarch
- tomcat-native
ExclusiveArch: %{java_arches}
- tomcat-taglibs-parent
ExclusiveArch: %{java_arches} noarch
- tomcatjss
ExclusiveArch: %{java_arches} noarch
- torbrowser-launcher
ExclusiveArch: %{ix86} x86_64
- treelayout
ExclusiveArch: %{java_arches} noarch
- trilead-ssh2
ExclusiveArch: %{java_arches} noarch
- truth
ExclusiveArch: %{java_arches} noarch
- tuned-profiles-nfv-host-bin
ExclusiveArch: %{ix86} x86_64
- typescript
ExclusiveArch: %{nodejs_arches} noarch
- uClibc
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips}
- ucx
ExclusiveArch: aarch64 ppc64le x86_64
- uglify-js
ExclusiveArch: %{nodejs_arches} noarch
- unetbootin
ExclusiveArch: %{ix86} x86_64
- univocity-parsers
ExclusiveArch: %{java_arches} noarch
- ursa-major
ExclusiveArch: noarch aarch64 ppc64le s390x x86_64
- usd
ExclusiveArch: aarch64 x86_64
- v8-314
ExclusiveArch: %{ix86} x86_64 %{arm} mips mipsel ppc ppc64
- vakzination
ExclusiveArch: %{java_arches}
- valgrind
ExclusiveArch: %{ix86} x86_64 ppc ppc64 ppc64le s390x armv7hl aarch64
- vboot-utils
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64
- vecmath1.2
ExclusiveArch: %{java_arches} noarch
- velocity
ExclusiveArch: %{java_arches} noarch
- vim-go
ExclusiveArch: %{?golang_arches}%{!?golang_arches:%{ix86} x86_64 %{arm}}
- vim-syntastic
ExclusiveArch: %{java_arches} noarch
- virt-p2v
ExclusiveArch: x86_64
- virt-v2v
ExclusiveArch: x86_64
- virtiofsd
ExclusiveArch: %{rust_arches}
- virtualbox-guest-additions
ExclusiveArch: i686 x86_64
- vkd3d
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- vmaf
ExclusiveArch: x86_64
- voms-api-java
ExclusiveArch: %{java_arches} noarch
- voms-clients-java
ExclusiveArch: %{java_arches} noarch
- vrq
ExclusiveArch: %{ix86} x86_64
- wangle
ExclusiveArch: x86_64 aarch64 ppc64le
- warsow
ExclusiveArch: %{ix86} x86_64 %{arm}
- warsow-data
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
ExclusiveArch: %{ix86} x86_64 %{arm}
- wasmedge
ExclusiveArch: x86_64 aarch64
- watchman
ExclusiveArch: x86_64 aarch64 ppc64le
- wdt
ExclusiveArch: x86_64 aarch64 ppc64le
- webkit2-sharp
ExclusiveArch: %mono_arches
- weld-parent
ExclusiveArch: %{java_arches} noarch
- why3
ExclusiveArch: %{java_arches}
- wine
ExclusiveArch: %{ix86} x86_64 aarch64
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{ix86}
- wine-dxvk
ExclusiveArch: %{ix86} x86_64
- winetricks
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- writer2latex
ExclusiveArch: %{java_arches}
- ws-commons-util
ExclusiveArch: %{java_arches} noarch
- wsdl4j
ExclusiveArch: %{java_arches} noarch
- wult
ExclusiveArch: x86_64
- wxMaxima
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc sparcv9
- x2goclient
ExclusiveArch: x86_64
- xalan-j2
ExclusiveArch: %{java_arches} noarch
- xbean
ExclusiveArch: %{java_arches} noarch
- xbyak
ExclusiveArch: x86_64
- xbyak_aarch64
ExclusiveArch: aarch64
- xe-guest-utilities-latest
ExclusiveArch: %{ix86} x86_64
- xen
ExclusiveArch: x86_64 aarch64
- xerces-j2
ExclusiveArch: %{java_arches} noarch
- xgap
ExclusiveArch: aarch64 ppc64le s390x x86_64
- xml-commons-apis
ExclusiveArch: %{java_arches} noarch
- xml-commons-resolver
ExclusiveArch: %{java_arches} noarch
- xml-maven-plugin
ExclusiveArch: %{java_arches} noarch
- xmlada
ExclusiveArch: %{GPRbuild_arches}
- xmlgraphics-commons
ExclusiveArch: %{java_arches} noarch
- xmlpull
ExclusiveArch: %{java_arches} noarch
- xmlstreambuffer
ExclusiveArch: %{java_arches} noarch
- xmlunit
ExclusiveArch: %{java_arches} noarch
- xmpcore
ExclusiveArch: %{java_arches} noarch
- xmvn
ExclusiveArch: %{java_arches} noarch
- xmvn-connector-ivy
ExclusiveArch: %{java_arches} noarch
- xorg-x11-drv-armsoc
ExclusiveArch: %{arm} aarch64
- xorg-x11-drv-intel
ExclusiveArch: %{ix86} x86_64
- xorg-x11-drv-openchrome
ExclusiveArch: %{ix86} x86_64
- xorg-x11-drv-vesa
ExclusiveArch: %{ix86} x86_64
- xorg-x11-drv-vmware
ExclusiveArch: %{ix86} x86_64 ia64
- xsp
ExclusiveArch: %mono_arches
- xstream
ExclusiveArch: %{java_arches} noarch
- xz-java
ExclusiveArch: %{java_arches} noarch
- yarnpkg
ExclusiveArch: %{nodejs_arches} noarch
- zcfan
ExclusiveArch: x86_64
- zeal
ExclusiveArch: %{qt5_qtwebengine_arches}
- zenon
ExclusiveArch: %{java_arches}
- zeromq-ada
ExclusiveArch: %{GPRbuild_arches}
- zig
ExclusiveArch: %{zig_arches}
- zlib-ada
ExclusiveArch: %{GPRbuild_arches}
- zlib-ng
ExclusiveArch: aarch64 i686 ppc64le s390x x86_64
- zola
ExclusiveArch: %{rust_arches}
1 year, 4 months