libdv: adopted port; included more patches

This commit is contained in:
Tim Biermann 2023-08-13 11:13:38 +02:00
parent 3d6fb99133
commit ed446eee9e
Signed by: tb
GPG Key ID: 42F8B4E30B673606
5 changed files with 191 additions and 24 deletions

View File

@ -8,8 +8,6 @@ drwxr-xr-x root/root usr/include/libdv/
-rw-r--r-- root/root usr/include/libdv/dv.h
-rw-r--r-- root/root usr/include/libdv/dv_types.h
drwxr-xr-x root/root usr/lib/
-rw-r--r-- root/root usr/lib/libdv.a
-rwxr-xr-x root/root usr/lib/libdv.la
lrwxrwxrwx root/root usr/lib/libdv.so -> libdv.so.4.0.3
lrwxrwxrwx root/root usr/lib/libdv.so.4 -> libdv.so.4.0.3
-rwxr-xr-x root/root usr/lib/libdv.so.4.0.3

View File

@ -1,7 +1,9 @@
untrusted comment: verify with /etc/ports/contrib.pub
RWSagIOpLGJF36yodU3mIJ03j8vkeF3wabnqRHngN/CK2ClZebmyzQRKGykVhLDL8IDpd4tEu1PIoNevQm+2Ld9bNnQ1BC2nlw4=
SHA256 (Pkgfile) = 4868db8d0813dca17d59348e6266e689bceb86a8074eba7fba198fc278f6b1fb
SHA256 (.footprint) = 93d2bc4d2ff2f13482a73335e1aab2f8d4eb4a09ab296624dbfae7a54da8a9be
RWSagIOpLGJF39nckPpUgJFtcGTfMS5QZhm3RAq9uocbeov8WY565G8pKrjLxExki0EQnAgK78Ltpiav+Ned+Uygnljt54CuHAQ=
SHA256 (Pkgfile) = 486893cb186c3fe501660730caa6e216038586a4b7a2ff3eb59e1590723edcf6
SHA256 (.footprint) = c7099abb6e3894d80e67cebec65a2079f6ab1f766845050a41e035b2d5b3b044
SHA256 (libdv-1.0.0.tar.gz) = a305734033a9c25541a59e8dd1c254409953269ea7c710c39e540bd8853389ba
SHA256 (libdv-dso-linking.patch) = 1d99a63384f27b12b333568f5e4f9a7e3fcd3907035dafc29563e3c3b30b9832
SHA256 (libdv-0.104-no-exec-stack.patch) = b680421b48830ab67069d0cf37954438bbe942d8bcd44e9d6c82c378b8d6f385
SHA256 (libdv-1.0.0-pic.patch.bz2) = 474a50d373e39dd8a0dac0b22f089e957d752145712f97f987ad18028f6d6a5e
SHA256 (libdv-0.99-2.6.patch) = 7199ef39770c41be92e845e767800fd7b21979408d0466d4f05f33e734f32b81

View File

@ -1,32 +1,42 @@
# Description: Software codec for DV video.
# URL: http://libdv.sourceforge.net/
# Maintainer: Danny Rawlins, crux at romster dot me
# Depends on: libsdl popt
# Optional: gtk
# Maintainer: Tim Biermann, tbier at posteo dot de
# Depends on: popt
# Optional: libsdl gtk
name=libdv
version=1.0.0
release=3
release=4
source=(http://downloads.sourceforge.net/project/$name/$name/$version/$name-$version.tar.gz
$name-1.0.0-pic.patch.bz2
$name-0.99-2.6.patch)
libdv-dso-linking.patch
libdv-0.104-no-exec-stack.patch
libdv-1.0.0-pic.patch.bz2
libdv-0.99-2.6.patch)
build() {
cd $name-$version
cd $name-$version
bzcat $SRC/$name-1.0.0-pic.patch.bz2 |patch -p 1
patch -p 1 -i $SRC/$name-0.99-2.6.patch
bzcat $SRC/libdv-1.0.0-pic.patch.bz2 | patch -p 1
patch -Np 1 -i $SRC/libdv-0.99-2.6.patch
patch -Np1 -i $SRC/libdv-0.104-no-exec-stack.patch
patch -Np1 -i $SRC/libdv-dso-linking.patch
PKGMK_LIBDV="--prefix=/usr --mandir=/usr/share/man --enable-sdl"
if prt-get isinst gtk; then
export GTK_CFLAGS="$(pkgconf --cflags gtk+-2.0 glib-2.0)"
export GTK_LIBS="$(pkgconf --libs gtk+-2.0 glib-2.0)"
else
PKGMK_LIBDV+=" --disable-gtk"
fi
if prt-get isinst gtk; then
export GTK_CFLAGS="$(pkgconf --cflags gtk+-2.0 glib-2.0)"
export GTK_LIBS="$(pkgconf --libs gtk+-2.0 glib-2.0)"
else
PKGMK_LIBDV+=' --disable-gtk'
fi
prt-get isinst libsdl && PKGMK_LIBDV+='--enable-sdl'
./configure $PKGMK_LIBDV
./configure $PKGMK_LIBDV \
--prefix=/usr \
--mandir=/usr/share/man \
--disable-static \
--without-debug
make
make DESTDIR=$PKG install
make
make DESTDIR=$PKG install
find $PKG -name '*.la' -delete
}

View File

@ -0,0 +1,137 @@
Make sure that the asm files don't incorrectly trigger an executable
stack marking in the final shared library. That's bad, mmmkay.
Upstream has already fixed this in their cvs.
--- a/libdv/dct_block_mmx.S
+++ b/libdv/dct_block_mmx.S
@@ -1207,3 +1207,7 @@ _dv_dct_block_mmx_postscale_248:
popl %esi
popl %ebp
ret
+
+#ifdef __ELF__
+.section .note.GNU-stack,"",@progbits
+#endif
--- a/libdv/dct_block_mmx_x86_64.S
+++ b/libdv/dct_block_mmx_x86_64.S
@@ -1197,3 +1197,7 @@ _dv_dct_block_mmx_x86_64_postscale_248:
pop %r12
ret
+
+#ifdef __ELF__
+.section .note.GNU-stack,"",@progbits
+#endif
--- a/libdv/encode_x86.S
+++ b/libdv/encode_x86.S
@@ -599,3 +599,6 @@ _dv_need_dct_248_mmx_rows:
+#ifdef __ELF__
+.section .note.GNU-stack,"",@progbits
+#endif
--- a/libdv/encode_x86_64.S
+++ b/libdv/encode_x86_64.S
@@ -600,3 +600,6 @@ _dv_need_dct_248_mmx_x86_64_rows:
+#ifdef __ELF__
+.section .note.GNU-stack,"",@progbits
+#endif
--- a/libdv/idct_block_mmx.S
+++ b/libdv/idct_block_mmx.S
@@ -648,3 +648,6 @@ x0:
.long 0,0
.align 8
+#ifdef __ELF__
+.section .note.GNU-stack,"",@progbits
+#endif
--- a/libdv/idct_block_mmx_x86_64.S
+++ b/libdv/idct_block_mmx_x86_64.S
@@ -653,3 +653,6 @@ x0:
.long 0,0
.align 8
+#ifdef __ELF__
+.section .note.GNU-stack,"",@progbits
+#endif
--- a/libdv/quant_x86.S
+++ b/libdv/quant_x86.S
@@ -454,3 +454,6 @@ _dv_quant_x86:
+#ifdef __ELF__
+.section .note.GNU-stack,"",@progbits
+#endif
--- a/libdv/quant_x86_64.S
+++ b/libdv/quant_x86_64.S
@@ -459,3 +459,6 @@ _dv_quant_x86_64:
+#ifdef __ELF__
+.section .note.GNU-stack,"",@progbits
+#endif
--- a/libdv/rgbtoyuv.S
+++ b/libdv/rgbtoyuv.S
@@ -1430,3 +1430,6 @@ video_copy_ntsc_c_block_mmx_loop:
+#ifdef __ELF__
+.section .note.GNU-stack,"",@progbits
+#endif
--- a/libdv/rgbtoyuv_x86_64.S
+++ b/libdv/rgbtoyuv_x86_64.S
@@ -1370,3 +1370,6 @@ video_copy_ntsc_c_block_mmx_loop:
+#ifdef __ELF__
+.section .note.GNU-stack,"",@progbits
+#endif
--- a/libdv/transpose_x86.S
+++ b/libdv/transpose_x86.S
@@ -188,3 +188,7 @@ popl %esi
popl %ebp
ret $0
+
+#ifdef __ELF__
+.section .note.GNU-stack,"",@progbits
+#endif
--- a/libdv/transpose_x86_64.S
+++ b/libdv/transpose_x86_64.S
@@ -188,3 +188,7 @@ all_done_ready_to_exit:
pop %r12
ret $0
+
+#ifdef __ELF__
+.section .note.GNU-stack,"",@progbits
+#endif
--- a/libdv/vlc_x86.S
+++ b/libdv/vlc_x86.S
@@ -585,3 +585,7 @@ mod_12:
.align 16
const_f_0_0_0:
.short 0xffff,0,0,0
+
+#ifdef __ELF__
+.section .note.GNU-stack,"",@progbits
+#endif
--- a/libdv/vlc_x86_64.S
+++ b/libdv/vlc_x86_64.S
@@ -671,3 +671,7 @@ mod_12:
.align 16
const_f_0_0_0:
.short 0xffff,0,0,0
+
+#ifdef __ELF__
+.section .note.GNU-stack,"",@progbits
+#endif

View File

@ -0,0 +1,20 @@
diff -Naur libdv-1.0.0.old/Makefile.am libdv-1.0.0/Makefile.am
--- libdv-1.0.0.old/Makefile.am 2022-03-24 20:11:25.269668921 +0100
+++ libdv-1.0.0/Makefile.am 2022-03-24 20:14:29.849878099 +0100
@@ -5,6 +5,7 @@
endif
SUBDIRS = libdv encodedv $(gtk_subdirs)
+ACLOCAL_AMFLAGS = -I m4
AUX_DIST = $(ac_aux_dir)/config.guess \
$(ac_aux_dir)/config.sub \
diff -Naur libdv-1.0.0.old/playdv/Makefile.am libdv-1.0.0/playdv/Makefile.am
--- libdv-1.0.0.old/playdv/Makefile.am 2022-03-24 20:11:25.274669008 +0100
+++ libdv-1.0.0/playdv/Makefile.am 2022-03-24 20:14:29.815877508 +0100
@@ -15,4 +15,4 @@
noinst_HEADERS= display.h oss.h
playdv_SOURCES= playdv.c display.c display.h oss.c
-playdv_LDADD= $(SDL_LIBS) $(GTK_LIBS) $(XV_LIB) ../libdv/libdv.la $(POPT_LIB)
+playdv_LDADD= $(SDL_LIBS) $(GTK_LIBS) $(XV_LIB) ../libdv/libdv.la $(POPT_LIB) -lX11 -lXext