ports/contrib (3.7): libdv: adopted port; included more patches
![](https://secure.gravatar.com/avatar/df8330968b6df8cd1c1942c5fb4b720c.jpg?s=120&d=mm&r=g)
commit ed446eee9e1e9d3f169ee5ed0f1a4627b99dc6db Author: Tim Biermann <tbier@posteo.de> Date: Sun Aug 13 11:13:38 2023 +0200 libdv: adopted port; included more patches diff --git a/libdv/.footprint b/libdv/.footprint index dc01cfa20..030807f3d 100644 --- a/libdv/.footprint +++ b/libdv/.footprint @@ -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 diff --git a/libdv/.signature b/libdv/.signature index b00c419cb..62c05fd9b 100644 --- a/libdv/.signature +++ b/libdv/.signature @@ -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 diff --git a/libdv/Pkgfile b/libdv/Pkgfile index d883db8da..5aa39997e 100644 --- a/libdv/Pkgfile +++ b/libdv/Pkgfile @@ -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... - $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 } diff --git a/libdv/libdv-0.104-no-exec-stack.patch b/libdv/libdv-0.104-no-exec-stack.patch new file mode 100644 index 000000000..edf917c37 --- /dev/null +++ b/libdv/libdv-0.104-no-exec-stack.patch @@ -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 diff --git a/libdv/libdv-dso-linking.patch b/libdv/libdv-dso-linking.patch new file mode 100644 index 000000000..9117c58bc --- /dev/null +++ b/libdv/libdv-dso-linking.patch @@ -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
participants (1)
-
crux@crux.nu