From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2201) id C8A5B3858D32; Sun, 22 Jan 2023 12:58:18 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C8A5B3858D32 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1674392298; bh=jlZcrGYCtkz/b9yLa24gpv9yK1b52/Ool/RR8pYue6o=; h=To:Subject:Date:From:From; b=BM2OPKP8TcnEwronVUVRC1W7LyEvNbwMQzavTGbnDjjrM7uHsIBJBpS6uESUMq8Tu kbJt4U8tIxYLHcyL/nec6vjdcEZ9vuXS29uUzA2zRsp6Z+6RkMRAOzkk/rzD99Q5Wa 1L2BbS68LPbjnWY4T1bCDNEgCyZjZaKkq0ZSRYVg= To: cygwin-apps-cvs@sourceware.org Subject: [cygport - the Cygwin packaging tool] branch master, updated. 0.36.0 X-Git-Refname: refs/heads/master X-Git-Reftype: branch X-Git-Oldrev: 63af01b4f35fc1bf3d2b87cc32e85844c4206c02 X-Git-Newrev: a24d555b79fc8ebcdd088e8240220074469fb334 Message-Id: <20230122125818.C8A5B3858D32@sourceware.org> Date: Sun, 22 Jan 2023 12:58:18 +0000 (GMT) From: Jon Turney List-Id: https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/cygport.git;h=a24d555b79fc8ebcdd088e8240220074469fb334 commit a24d555b79fc8ebcdd088e8240220074469fb334 Author: Jon Turney Date: Sun Jan 22 12:51:44 2023 +0000 Bump version to 0.36.0 https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/cygport.git;h=add50e560255ae9f6bf6c7cdd1733093c5970e35 commit add50e560255ae9f6bf6c7cdd1733093c5970e35 Author: Jon Turney Date: Sat Jan 21 20:27:16 2023 +0000 Clarify error message suggesting AUTOCONF_VERSION https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/cygport.git;h=d476afc893ece9bf82982aa4d89cbf75e078dc06 commit d476afc893ece9bf82982aa4d89cbf75e078dc06 Author: Jon Turney Date: Fri Jan 20 14:05:01 2023 +0000 doc: Update VERSION and RELEASE constraints to align with reality Also, point to 'policy document' :) https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/cygport.git;h=54ea9f57e412b20c1c8d00f3e87b8d28a2b55074 commit 54ea9f57e412b20c1c8d00f3e87b8d28a2b55074 Author: Jon Turney Date: Sat Jan 14 15:13:00 2023 +0000 Update copyrights to 2023 https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/cygport.git;h=d4c9c0acf5dc1c5269e06f7d4d668b337c695f87 commit d4c9c0acf5dc1c5269e06f7d4d668b337c695f87 Author: Jon Turney Date: Sat Jan 14 15:21:12 2023 +0000 Update tests for python2 EOL * autotools/mate-menus: Disable the python2 bindings The bindings in this version aren't compatible with python3. Later versions, which are python3 compatible, use introspection-based, rather than static bindings (so there's nothing to package), so just disable building the python2 bindings, for the moment. * download/svn: Drop making a python 2.7 wheel * python/distutils: BeautifulSoup 3.x doesn't support python3, so upgrade to bs4 (not sure what to do when distutils goes away, and this becomes another test of wheel, but still needs a test for the moment) * python/pygtk: Drop test Drop this, snce pygtk is python2 (and gtk+2.0) only, there's nothing left to test. * python/wheel: Drop making a python 2.7 wheel * waf/all: Update version of lv2 Update to version of lv2 which still uses waf, but a waf which is compatible with python3 * Don't install python2 test prerequisites in CI. https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/cygport.git;h=c2317c686f70d185578e54eb8c99ffb7e09ec406 commit c2317c686f70d185578e54eb8c99ffb7e09ec406 Author: Jon Turney Date: Sat Jan 14 13:19:10 2023 +0000 Make PYTHON_WHEEL_VERSIONS containing "2" or "2.x" an error https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/cygport.git;h=1b873dc3bd9c2e88fa63d885b6e58bccbd90c55f commit 1b873dc3bd9c2e88fa63d885b6e58bccbd90c55f Author: Jon Turney Date: Sat Jan 14 12:58:45 2023 +0000 Make 'inherit python2{,-disutils,-wheel}' an error Make 'inherit python2{,-disutils,-wheel}' an error, as suggeested in 739c181aea1d ("Updates to tests for further rusting of python2"). Also warn about using deprecated python2 compatibility classes python and pygtk. https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/cygport.git;h=1a9e7dfe2274a08c623d1188ed85f6382aaee7f6 commit 1a9e7dfe2274a08c623d1188ed85f6382aaee7f6 Author: Jon Turney Date: Sun Jan 15 11:49:19 2023 +0000 Fix python/wheel test and restore in CI Prerequisites were accidentally dropped from CI in dc2317888958 ("python-wheel: Update for python 3.9") https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/cygport.git;h=79d15f350662d87000c32e01fc0eb0a59a10dc30 commit 79d15f350662d87000c32e01fc0eb0a59a10dc30 Author: Jon Turney Date: Sat Jan 14 12:32:12 2023 +0000 pkg_info: Use absolute path to cygpath This avoids using the just built cygpath from ${D}/bin in the PATH, when building the cygwin package (which can sometimes fail due to "multiple cygwin DLLs" issues). https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/cygport.git;h=1ba3ceb91652d8c18b4e1fcee8f75258690d98c6 commit 1ba3ceb91652d8c18b4e1fcee8f75258690d98c6 Author: Jon Turney Date: Mon Jan 9 14:36:06 2023 +0000 pkg: doc: Drop mention of empty obsoletion packages We stopped generating these in 62f43d09. Also mention that PN_debuginfo_OBSOLETES can be used. https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/cygport.git;h=3eed47f65cbb302dbe411870a43b1c41dac8351c commit 3eed47f65cbb302dbe411870a43b1c41dac8351c Author: Jon Turney Date: Mon Jan 9 14:36:57 2023 +0000 python{,2,3}-distutils: Warn that distutils is deprecated distutils was deprecated in python 3.10 and removal is planned for python 3.12. https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/cygport.git;h=82ede2abc687afbb012680d89ace8c042fb082ba commit 82ede2abc687afbb012680d89ace8c042fb082ba Author: Jon Turney Date: Sat Dec 31 17:11:44 2022 +0000 pkg_upload: doc: Update (now redirected) URLs in uploading documentation https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/cygport.git;h=c7e396d473b87fb1a0157b37be346a5b1b57e348 commit c7e396d473b87fb1a0157b37be346a5b1b57e348 Author: Jon Turney Date: Fri Dec 30 16:32:22 2022 +0000 Ensure example cygports in documentation contain LICENSE and HOMEPAGE perl, php, python.org and R cygclasses already set HOMEPAGE, and should possibly set LICENSE using upstream metadata. https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/cygport.git;h=69e0fc67c8d1808510961e93805adc5591f5d36c commit 69e0fc67c8d1808510961e93805adc5591f5d36c Author: Jon Turney Date: Mon Dec 19 17:49:07 2022 +0000 Add a test of CYGWIN_FILES functionality This is based on the xinit cygport, simplified so it just exercises README, shell profile scripts and postinstall/preinstall scripts. https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/cygport.git;h=0b0066f3e778f760ca36a4454fe52eb603f9cf9d commit 0b0066f3e778f760ca36a4454fe52eb603f9cf9d Author: Jon Turney Date: Mon Dec 19 13:35:59 2022 +0000 Provide an alternative mechanism to get files into $C Creating these files from a .cygwin.patch file works fine when building from an existing source package, it's less great for creating a source package from a VCS checkout. Provide a semi-useful default of including a Cygwin-specific README, if present. Extend gpg signing to include a manifest of the files listed here, since we would have signed the .cygwin.patch itself, if present. https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/cygport.git;h=74321ee1e5cb5501c04c95a2a5631824892c216d commit 74321ee1e5cb5501c04c95a2a5631824892c216d Author: Jon Turney Date: Mon Dec 19 13:28:56 2022 +0000 Document actions taken on files in $C Also note that .hint files in $C are obsolete, since we now have better ways supplying them, by automatic generation. I thought about declaring PKG.list files obsolete as well, but they perhaps still have a real use when "the contents of a package are too many or complicated to easily describe" in PKG_CONTENTS? https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/cygport.git;h=395827cec3b26114d2a7c10ddc92218e15f405d4 commit 395827cec3b26114d2a7c10ddc92218e15f405d4 Author: Jon Turney Date: Mon Dec 19 16:04:18 2022 +0000 Add a test which runs 'cygport vars' https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/cygport.git;h=278cd196c214f864e44a3514fd2c2890e8df9b6c commit 278cd196c214f864e44a3514fd2c2890e8df9b6c Author: Jon Turney Date: Fri Dec 16 17:45:21 2022 +0000 Ignore errors in nested source-ing of cygport This avoids immediately terminating on calling the 'exit' built-in after any error in the source-ing (e.g. raised by free code in an inherited cygclass), which causes a silent exit now we that suppress stderr from that nested source-ing. We do this by writing "( stuff-which-may-exit ) || true". You might think that the extra subshell is not needed. I certainly did, (because the rules for the 'errexit' mode (which the subshell inherits) are that non-final commands in || lists don't cause an exit if they fail). I was baffled for a long time as to why it's needed until I realized that the 'exit' built-in causes the shell to exit, even when it succeeds. The '|| true' ensures that the substitution does not have a non-zero exit status, which is an error in the top-level shell. Fixes: aa665473aa7d ("Send informational messages to stderr") https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/cygport.git;h=9b9742293d2ede6d99ddae6031a39a8a7cb1655a commit 9b9742293d2ede6d99ddae6031a39a8a7cb1655a Author: Jon Turney Date: Mon Dec 19 17:00:38 2022 +0000 Add a test of arch-invariant SRC_URI and PATCH_URI logic https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/cygport.git;h=2eb7c0ebafe55a1db017b7243010be5e40e4db05 commit 2eb7c0ebafe55a1db017b7243010be5e40e4db05 Author: Jon Turney Date: Wed Dec 14 21:06:40 2022 +0000 Try harder to preserve upstream timestamps in source package As suggested in [1], try harder to preserve timestamp information from the original files. This tries harder to retain remote timestamp of downloaded upstream files, and preserve timestamp of those, and of patch and cygport files when copying to the staging directory for the src archive. [1] https://cygwin.com/pipermail/cygwin-apps/2020-August/040407.html https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/cygport.git;h=79fff482c35a700f1348bb774fd446545a345a29 commit 79fff482c35a700f1348bb774fd446545a345a29 Author: Achim Gratz Date: Thu May 13 19:09:27 2021 +0200 bin/cygport.in: make system-wide defaults overrideable by user defaults Make system-wide defaults overrideable by user defaults, and document the precedence of defaults files. https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/cygport.git;h=1db9bbe37f01a614b3df154f29abd7ae32b41db6 commit 1db9bbe37f01a614b3df154f29abd7ae32b41db6 Author: Jon Turney Date: Tue Dec 13 14:25:35 2022 +0000 pkg: don't put local user:group info into package archives Don't leak local user and group into the package archives we make. (This information is ignored by setup, in any case) Pick Guest:None to be the owner of all files in the archive, just in case we ever need to mark some as owned by Administrator:Administrators in future. Based on https://cygwin.com/pipermail/cygwin/2020-August/245738.html https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/cygport.git;h=59af06d5ad09d9305803499dafbde3003b33703c commit 59af06d5ad09d9305803499dafbde3003b33703c Author: Jon Turney Date: Mon May 6 17:43:27 2019 +0100 pkg: Allow package compression to be specified Do not hard-code package compression type to xz. Allow compression to be specified with the (optional) TAR_COMPRESSION_EXT variable. This allows packages to be compressed with ZStandard. Diff: --- .github/workflows/cygwin.yml | 12 +- NEWS | 10 + README | 2 +- bin/cygport.in | 21 +- cygclass/aspell-dict.cygclass | 2 + cygclass/autotools.cygclass | 6 +- cygclass/font.cygclass | 1 + cygclass/httpd.cygclass | 2 + cygclass/multilib.cygclass | 1 + cygclass/pygtk.cygclass | 2 + cygclass/python-distutils.cygclass | 3 + cygclass/python-wheel.cygclass | 15 +- cygclass/python.cygclass | 2 + cygclass/python2-distutils.cygclass | 3 + cygclass/python2-wheel.cygclass | 3 + cygclass/python2.cygclass | 2 + cygclass/python3-distutils.cygclass | 2 + cygclass/python3-wheel.cygclass | 1 + cygport.spec | 2 +- data/cygport.conf | 16 +- data/sample.cygport | 2 +- lib/pkg_info.cygpart | 4 +- lib/pkg_pkg.cygpart | 130 +++++++++--- lib/pkg_upload.cygpart | 10 +- lib/src_fetch.cygpart | 6 +- lib/src_postinst.cygpart | 26 +++ lib/src_prep.cygpart | 37 +++- lib/syntax.cygpart | 20 +- meson.build | 2 +- testsuite/R/cran/vars | 3 + testsuite/aspell/dict/vars | 3 + testsuite/autotools/c/vars | 3 + testsuite/autotools/gnome/vars | 3 + testsuite/autotools/gtkmm/vars | 3 + testsuite/autotools/kde3/vars | 3 + .../python2-matemenu-1.18.0-1.hint | 8 - testsuite/autotools/mate/mate-menus.cygport | 10 +- testsuite/autotools/mate/mate-menus.list | 2 - testsuite/autotools/mate/vars | 3 + testsuite/autotools/meson.build | 2 +- testsuite/autotools/xfce/vars | 3 + testsuite/basic/info/vars | 3 + testsuite/cmake/c/vars | 3 + testsuite/cmake/kde4/vars | 3 + testsuite/cmake/kf5/vars | 3 + testsuite/cmake/qt4/vars | 3 + testsuite/cmake/qt5/vars | 3 + testsuite/cross/cmake/vars | 3 + testsuite/cross/make/vars | 3 + testsuite/cross/qt5/vars | 3 + testsuite/docbook/sgml/vars | 3 + testsuite/docbook/xml/vars | 3 + testsuite/download/R/vars | 3 + testsuite/download/bzr/vars | 3 + testsuite/download/cvs/vars | 3 + testsuite/download/git/vars | 3 + testsuite/download/gnome.org/vars | 3 + testsuite/download/hg/vars | 3 + testsuite/download/mate/vars | 3 + testsuite/download/mtn/vars | 3 + testsuite/download/perl/vars | 3 + testsuite/download/python.org/vars | 3 + .../python27-clang/python27-clang-9.0.1-1.hint | 9 - testsuite/download/svn/python-clang.cygport | 2 +- testsuite/download/svn/python-clang.list | 17 -- testsuite/download/svn/vars | 3 + testsuite/download/x.org/vars | 3 + testsuite/files/meson.build | 1 + testsuite/files/xinit/README | 1 + .../dist/xinit/xinit-1.4.2-2-src.hint | 10 + .../dist/xinit/xinit-1.4.2-2.hint | 7 + .../xinit-debuginfo/xinit-debuginfo-1.4.2-2.hint} | 6 +- testsuite/files/xinit/postinstall.sh | 3 + testsuite/files/xinit/preremove.sh | 3 + testsuite/files/xinit/profile.d.csh | 4 + testsuite/files/xinit/profile.d.fish | 4 + testsuite/files/xinit/profile.d.sh | 1 + testsuite/files/xinit/startxdmcp.bat | 102 ++++++++++ testsuite/files/xinit/startxwin | 226 +++++++++++++++++++++ testsuite/files/xinit/startxwin.1 | 213 +++++++++++++++++++ testsuite/files/xinit/vars | 3 + testsuite/files/xinit/xinit.cygport | 44 ++++ testsuite/files/xinit/xinit.list | 9 + testsuite/font/install/vars | 3 + testsuite/font/sfd2ttf/vars | 3 + testsuite/hints/multiple/vars | 3 + testsuite/hints/single/vars | 3 + testsuite/httpd/apxs/vars | 3 + testsuite/logic/arch_patch/arch_patch.cygport | 12 ++ testsuite/logic/arch_src/arch_src.cygport | 12 ++ testsuite/logic/meson.build | 9 + testsuite/lua/all/vars | 4 + testsuite/meson.build | 6 +- testsuite/meson/c/vars | 3 + testsuite/meson/gnome/vars | 3 + testsuite/ocaml/dune/vars | 4 + testsuite/ocaml/findlib/vars | 3 + testsuite/perl/ExtUtils-MakeMaker/vars | 3 + testsuite/perl/Module-Build/vars | 3 + testsuite/php/pear/vars | 3 + testsuite/php/pecl/vars | 3 + .../python3-beautifulsoup-4.11.1-1-src.hint} | 2 +- .../python3-beautifulsoup-4.11.1-1.hint} | 3 +- .../python/distutils/python-beautifulsoup.cygport | 18 +- .../python/distutils/python-beautifulsoup.list | 114 ++++++++++- testsuite/python/distutils/vars | 3 + testsuite/python/meson.build | 10 +- .../python-pynotify-0.1.1-5-src.hint | 7 - .../python-pynotify/python-pynotify-0.1.1-5.hint | 5 - .../pygtk/notify-python-0.1.1-libnotify-0.7.patch | 37 ---- testsuite/python/pygtk/python-pynotify.cygport | 18 -- testsuite/python/pygtk/python-pynotify.list | 10 - .../python-six-wheel-1.10.0-1.hint | 2 +- .../python27-six/python27-six-1.10.0-1.hint | 10 - .../python37-six/python37-six-1.10.0-1.hint | 2 +- .../python38-six/python38-six-1.10.0-1.hint | 2 +- testsuite/python/wheel/python-six.cygport | 2 +- testsuite/python/wheel/python-six.list | 14 -- testsuite/python/wheel/vars | 3 + testsuite/qmake/qt3/vars | 3 + testsuite/qmake/qt4/vars | 3 + testsuite/qmake/qt5/vars | 3 + testsuite/ruby/gem/vars | 3 + testsuite/texlive/collection/vars | 3 + testsuite/vars | 35 ++++ testsuite/waf/all/1.12.0-cygwin-shlib.patch | 66 ------ .../dist/lv2/lv2-1.18.4-1-src.hint} | 0 .../dist/lv2/lv2-1.18.4-1.hint} | 0 .../dist/lv2/lv2-devel/lv2-devel-1.18.4-1.hint} | 2 +- testsuite/waf/all/lv2.cygport | 9 +- testsuite/waf/all/lv2.list | 90 +++++--- testsuite/waf/all/vars | 3 + testsuite/waf/all/waf-python2.patch | 16 -- testsuite/waf/meson.build | 2 +- 134 files changed, 1333 insertions(+), 375 deletions(-) diff --git a/.github/workflows/cygwin.yml b/.github/workflows/cygwin.yml index 9ed59f58..ec1d405b 100644 --- a/.github/workflows/cygwin.yml +++ b/.github/workflows/cygwin.yml @@ -95,11 +95,11 @@ jobs: perl,^ perl-Module-Build,^ php-PEAR,^ - python-gtk2.0-devel,^ - python2-devel,^ - python27-pip,^ - python27-setuptools,^ + python38-devel,^ python27-wheel,^ + python37-pip,^ + python37-setuptools,^ + python37-wheel,^ python38-pip,^ python38-setuptools,^ python38-wheel,^ @@ -120,7 +120,9 @@ jobs: - name: Fixup Cygwin installation run: | bash --login - bash -c '/usr/sbin/alternatives --set python /usr/bin/python3.8 ; /usr/sbin/alternatives --set python3 /usr/bin/python3.8' + bash -c '/usr/sbin/alternatives --set python /usr/bin/python3.8' + bash -c '/usr/sbin/alternatives --set python3 /usr/bin/python3.8' + bash -c '/usr/sbin/alternatives --set python3-config /usr/bin/python3.8-config' bash -c 'sed -i s#/usr/bin/python\$#/usr/bin/python3.9# /usr/bin/pip3.9' bash -c 'sed -i s@#!/bin/python\$@#!/bin/python2@ /usr/bin/bzr' bash -c 'git config --system --add safe.directory /cygdrive/d/a/cygport/cygport' diff --git a/NEWS b/NEWS index 15bd6abb..9a27e545 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,13 @@ +0.36.0: + * Allow package compression to be specified with TAR_COMPRESSION_EXT + * Add CYGWIN_FILES to place files in $C, as an alternative to creating + them with a ${PF}.cygwin.patch file + * python{,2,3}-distutils: Warn that distutils is deprecated + * python2{,-disutils,-wheel}: Stop with an error because python2 is + sunset + * python-wheel: Stop with an error if PYTHON_WHEEL_VERSIONS contains "2" + or "2.x" + 0.35.5: * Default to x86_64-pc-cygwin target on Linux. * 'inform' messages are now sent to stderr diff --git a/README b/README index c8218e45..fd16df6b 100644 --- a/README +++ b/README @@ -185,7 +185,7 @@ included in CYGWIN-PATCHES. Custom postinstall and preremove commands may be included in the CYGWIN-PATCHES directory as postinstall.sh and preremove.sh; these -scripts should be written as stubs, without the sh-bang header. +scripts should be written as stubs, without the shebang header. 5. REQUIREMENTS diff --git a/bin/cygport.in b/bin/cygport.in index 446734fa..46647573 100755 --- a/bin/cygport.in +++ b/bin/cygport.in @@ -57,7 +57,7 @@ source ${_privlibdir}/syntax.cygpart # The Cygport Reference Manual documents cygport, a utility for creating and # building software packages for the Cygwin platform. # -# |html Copyright © 2006-2020 Cygport authors +# |html Copyright © 2006-2023 Cygport authors # # Permission is granted to copy, distribute and/or modify this manual # under the terms of the GNU Free Documentation License, Version 1.3 or @@ -263,16 +263,16 @@ fi declare MAKEOPTS="${_nproc:--j $(($(nproc 2>/dev/null) + 1))} " # load configuration -for conf in "${HOME}/.config/cygport.conf" \ - "${HOME}/.cygport/cygport.conf" \ - "${HOME}/.cygport.conf" \ - "${HOME}/.cygportrc" \ - "${_privsysconfdir}/cygport.conf" +for conf in \ + "${_privsysconfdir}/cygport.conf" \ + "${HOME}/.config/cygport.conf" \ + "${HOME}/.cygport/cygport.conf" \ + "${HOME}/.cygport.conf" \ + "${HOME}/.cygportrc" do if [ -e "${conf}" ] then source "${conf}" || error "could not read ${conf}" - break; fi done unset conf; @@ -431,7 +431,10 @@ do n=0 while (( n < ${#ARCHES[*]} )) do - read -r < <(declare ARCH=${ARCHES[$n]}; declare ARCH_${ARCH}=1; source ${top}/${cygportfile} 2>/dev/null; eval echo "\$${VAR}") + # the '\n' at the end ensures that if the source-ing fails, the process + # substitution still outputs something, so read has some input and + # doesn't fail on seeing an end-of-file + read -r < <( (declare ARCH=${ARCHES[$n]}; declare ARCH_${ARCH}=1; source ${top}/${cygportfile} 2>/dev/null ; eval echo "\$${VAR}}" ) || echo "\n" ) VALUE[$n]=${REPLY} if (( n > 0 )) then @@ -447,7 +450,7 @@ unset n VALUE ARCHES VAR # probe if the cygport sets ARCH - if it does, set ARCHES to that value, # otherwise set it to the default value "all". -PROBE_ARCH=$(unset ARCH; source ${top}/${cygportfile} 2>/dev/null; echo "${ARCH}") +PROBE_ARCH=$( (unset ARCH; source ${top}/${cygportfile} 2>/dev/null ; echo "${ARCH}") || true ) if [ -z "${PROBE_ARCH}" ] then declare -r ARCHES="all" diff --git a/cygclass/aspell-dict.cygclass b/cygclass/aspell-dict.cygclass index 565c44b6..22dd97b1 100644 --- a/cygclass/aspell-dict.cygclass +++ b/cygclass/aspell-dict.cygclass @@ -47,6 +47,8 @@ # to eventually replace Ispell. It can either be used as a library or as an # independent spell checker. # This package provides English dictionaries for Aspell." +# HOMEPAGE="http://aspell.net/" +# LICENSE="MIT and BSD" # # REQUIRES # aspell diff --git a/cygclass/autotools.cygclass b/cygclass/autotools.cygclass index c83dd001..6f5ead2d 100644 --- a/cygclass/autotools.cygclass +++ b/cygclass/autotools.cygclass @@ -42,6 +42,7 @@ # containing a match to a specified pattern. By default, grep prints the # matching lines." # HOMEPAGE="https://www.gnu.org/software/grep/" +# LICENSE="GPL-2.0-or-later" # SRC_URI="mirror://gnu/grep/grep-${VERSION}.tar.xz" # # If the only customization needed is to add configure flags, use CYGCONF_ARGS: @@ -57,6 +58,7 @@ # column number, auto-indentation, feature toggles, internationalization support, # and filename tab completion." # HOMEPAGE="https://www.nano-editor.org/" +# LICENSE="GPL-3.0-or-later" # SRC_URI="https://www.nano-editor.org/dist/v${VERSION%.*}/nano-${VERSION}.tar.gz" # PATCH_URI="2.2.4-wchar.patch" # @@ -74,6 +76,8 @@ # SUMMARY="Double-array digital search tree library" # DESCRIPTION="This is an implementation of double-array structure for # representing trie, as proposed by Junichi Aoe." +# HOMEPAGE="https://linux.thai.net/~thep/datrie/datrie.html" +# LICENSE="LGPL" # # PKG_NAMES="${NAME}1 ${NAME}-devel ${NAME}-doc" # # see PKG_CONTENTS @@ -671,7 +675,7 @@ cygconf() { confver_min=${confver##*.} if [ -z $confver_maj ] then - error "could not detect autoconf version; perhaps set AUTOCONF_VERSION?"; + error "could not determine the autoconf version used to generate ./configure; perhaps set AUTOCONF_VERSION?"; fi if [ $confver_maj -ne 2 ] then diff --git a/cygclass/font.cygclass b/cygclass/font.cygclass index 545b8be6..20bbfa54 100644 --- a/cygclass/font.cygclass +++ b/cygclass/font.cygclass @@ -38,6 +38,7 @@ # Humanist sans serif, and was developed for on-screen reading; in particular, # reading web pages on a mobile phone." # HOMEPAGE="https://gitlab.gnome.org/GNOME/cantarell-fonts/" +# LICENSE="OFL" # # src_compile() { :; } # diff --git a/cygclass/httpd.cygclass b/cygclass/httpd.cygclass index e210ec6e..125d1f6e 100644 --- a/cygclass/httpd.cygclass +++ b/cygclass/httpd.cygclass @@ -48,6 +48,7 @@ # delivered by the proxy module (mod_proxy) for viruses using the Clamav # virus scanning engine." # HOMEPAGE="http://software.othello.ch/mod_clamav/" +# LICENSE="GPL-2.0-only" # SRC_URI="http://software.othello.ch/mod_clamav/mod_clamav-${VERSION}.tar.gz" # SRC_DIR="mod_clamav-${VERSION}" # PATCH_URI="0.22-cygwin-layout.patch" @@ -78,6 +79,7 @@ # city that a web request originated from. It uses the GeoIP library and # database to perform the lookup." # HOMEPAGE="https://dev.maxmind.com/geoip/legacy/mod_geoip2/" +# LICENSE="Apache-1.1" # SRC_URI="https://github.com/maxmind/geoip-api-mod_geoip2/archive/v${VERSION}.tar.gz" # SRC_DIR="geoip-api-mod_geoip2-${VERSION}" # diff --git a/cygclass/multilib.cygclass b/cygclass/multilib.cygclass index a9fbc85f..7ce36e73 100644 --- a/cygclass/multilib.cygclass +++ b/cygclass/multilib.cygclass @@ -53,6 +53,7 @@ # CATEGORY="Devel" # SUMMARY="zlib for Linux x86-64/x32 toolchain" # HOMEPAGE="https://www.zlib.net/" +# LICENSE="Zlib" # SRC_URI="mirror://sourceforge/libpng/zlib-${VERSION}.tar.gz" # SRC_DIR="zlib-${VERSION}" # diff --git a/cygclass/pygtk.cygclass b/cygclass/pygtk.cygclass index b1412880..8bc38a8e 100644 --- a/cygclass/pygtk.cygclass +++ b/cygclass/pygtk.cygclass @@ -40,6 +40,8 @@ # gnome.org.cygclass (unless mate.cygclass has been inherit()ed), python.cygclass #**** +warning "pygtk.cygclass: pygtk bindings are limited to got gtk+2 and python2 and considered obsolete." + case ${PN#python-} in ${PN}) # for packages which provide pygtk bindings together with the C lib. diff --git a/cygclass/python-distutils.cygclass b/cygclass/python-distutils.cygclass index 177bb88d..14d4ae65 100644 --- a/cygclass/python-distutils.cygclass +++ b/cygclass/python-distutils.cygclass @@ -27,6 +27,9 @@ # INHERITS # python2-distutils.cygclass, python.cygclass #**** + +warning "python-distutils.cygclass: deprecated compatibility wrapper for the python2-distutils cygclass" + inherit python2-distutils python #****iC* python-distutils.cygclass/python_distutils_compile diff --git a/cygclass/python-wheel.cygclass b/cygclass/python-wheel.cygclass index 064fec2a..1ef23826 100644 --- a/cygclass/python-wheel.cygclass +++ b/cygclass/python-wheel.cygclass @@ -57,7 +57,7 @@ inherit python.org #****v* python-wheel.cygclass/PYTHON_WHEEL_VERSIONS # SYNOPSIS -# PYTHON_WHEEL_VERSIONS="2.7:3.5" # e.g. added to stdlib in 3.6 +# PYTHON_WHEEL_VERSIONS="3.5:3.6" # e.g. added to stdlib in 3.7 # inherit python-wheel # DESCRIPTION # A colon-seperated list of version(s) for which this module should be built. @@ -71,11 +71,8 @@ inherit python.org # If undefined, "default" is assumed. # NOTES # * Python 2.7 is no longer supported upstream, and all code should be moving -# to Python 3.y. While the 2.7 packages will remain for now, they should -# only be used when absolutely needed. Therefore, 2.7 has been dropped from -# the all/default/future sets. If you still need to provide your module for -# 2.7 -- and 2.7 is still supported by the module -- then set a value of -# e.g. PYTHON_WHEEL_VERSIONS="2:default". +# to Python 3.y. A 2.x version appearing in PYTHON_WHEEL_VERSIONS is now an +# error. # * It is not generally expected for wheel packages to be built with "all". # This option is primarily intended for the most basic modules used to # build, install, and run other modules (e.g. setuptools, wheel, pip, and @@ -107,6 +104,12 @@ unset _tmp_wheel_v for ver in ${PYTHON_WHEEL_VERSIONS//:/ } do + case "${ver}" in + 2.*) + error "${ver} in PYTHON_WHEEL_VERSIONS" + ;; + esac + check_prog_req pip${ver} python${ver//.}-pip done diff --git a/cygclass/python.cygclass b/cygclass/python.cygclass index 6f3c1ca2..7502fa0e 100644 --- a/cygclass/python.cygclass +++ b/cygclass/python.cygclass @@ -30,6 +30,8 @@ # python2.cygclass #**** +warning "python.cygclass: deprecated compatibility wrapper for the python2 cygclass" + inherit python2 #****id* python.cygclass/PYTHON diff --git a/cygclass/python2-distutils.cygclass b/cygclass/python2-distutils.cygclass index 20468a3c..c20f6834 100644 --- a/cygclass/python2-distutils.cygclass +++ b/cygclass/python2-distutils.cygclass @@ -21,6 +21,9 @@ # ################################################################################ +warning "python2-distutils.cygclass: python distutils is deprecated. Please migrate to the python-wheel cygclass." +error "python2-distutils.cyclass: python2 was sunsetted on 1 January, 2020. Please use python3 instead." + #****h* Cygclasses/python2-distutils.cygclass # DESCRIPTION # Distutils is the most common method for building and installing Python diff --git a/cygclass/python2-wheel.cygclass b/cygclass/python2-wheel.cygclass index 26670fcc..8d3e32e9 100644 --- a/cygclass/python2-wheel.cygclass +++ b/cygclass/python2-wheel.cygclass @@ -50,6 +50,9 @@ # REQUIRES # python2, python2-pip #**** + +error "python2-wheel.cyclass: python2 was sunsetted on 1 January, 2020. Please use python3 instead." + inherit python2 PYTHON_WHEEL_VERSIONS=${PYTHON2_VERSION} inherit python-wheel diff --git a/cygclass/python2.cygclass b/cygclass/python2.cygclass index 84aa4b93..0052689f 100644 --- a/cygclass/python2.cygclass +++ b/cygclass/python2.cygclass @@ -43,6 +43,8 @@ # python2 #**** +error "python2.cyclass: python2 was sunsetted on 1 January, 2020. Please use python3 instead." + # cross-compiling is not (yet?) supported __cross_compiling_error diff --git a/cygclass/python3-distutils.cygclass b/cygclass/python3-distutils.cygclass index 114f5757..b74390fc 100644 --- a/cygclass/python3-distutils.cygclass +++ b/cygclass/python3-distutils.cygclass @@ -21,6 +21,8 @@ # ################################################################################ +warning "python3-distutils.cygclass: python distutils is deprecated. Please migrate to the python-wheel cygclass." + #****h* Cygclasses/python3-distutils.cygclass # DESCRIPTION # Distutils is the most common method for building and installing Python diff --git a/cygclass/python3-wheel.cygclass b/cygclass/python3-wheel.cygclass index e20e777c..72c3f169 100644 --- a/cygclass/python3-wheel.cygclass +++ b/cygclass/python3-wheel.cygclass @@ -43,6 +43,7 @@ # DESCRIPTION="git-review is a tool that helps submitting git branches to # Gerrit for review." # HOMEPAGE="https://opendev.org/opendev/git-review" +# LICENSE="Apache-2.0" # SRC_URI="https://tarballs.opendev.org/openstack/git-review/${NAME}-${VERSION}.tar.gz" # # ARCH=noarch diff --git a/cygport.spec b/cygport.spec index 58b8672d..b596f241 100644 --- a/cygport.spec +++ b/cygport.spec @@ -1,7 +1,7 @@ %define debug_package %{nil} Name: cygport -Version: 0.35.5 +Version: 0.36.0 Release: 1%{?dist} Summary: Cygwin package building tool diff --git a/data/cygport.conf b/data/cygport.conf index 478b1a33..34ccd291 100644 --- a/data/cygport.conf +++ b/data/cygport.conf @@ -12,10 +12,18 @@ #****** Configuration/cygport.conf # DESCRIPTION -# The cygport.conf file can be used by users to customize certain aspects -# of cygport's behaviour. Users who wish to customize their settings should -# copy the default /etc/cygport.conf file to $HOME/.cygport.conf and edit the -# latter. +# The cygport.conf file can be used by users to customize certain aspects of +# cygport's behaviour. Users who wish to customize their settings should copy +# the respective settings from /etc/cygport.conf file to $HOME/.cygport.conf +# and edit the latter. +# +# Settings in /etc/cygport.conf are read first and can be changed via +# user-defined settings in $HOME/.config/cygport.conf, +# $HOME/.cygport/cygport.conf, $HOME/.cygport.conf, $HOME/.cygportrc in that +# order. The last one is for backwards compatibility with older versions of +# cygport, usually just one of these user-defined configuration files should +# exist. + #**** #****v* Configuration/DISTDIR diff --git a/data/sample.cygport b/data/sample.cygport index 3422e8e7..d26e2f8d 100644 --- a/data/sample.cygport +++ b/data/sample.cygport @@ -1,7 +1,7 @@ inherit meson NAME="cygport" -VERSION=0.35.5 +VERSION=0.36.0 RELEASE=1 CATEGORY="Devel" SUMMARY="Cygwin source packaging tool" diff --git a/lib/pkg_info.cygpart b/lib/pkg_info.cygpart index c399cc5f..b9022d73 100644 --- a/lib/pkg_info.cygpart +++ b/lib/pkg_info.cygpart @@ -137,9 +137,9 @@ __list_deps() { export PATH+="${D}$(__host_prefix)/bin:${os_path}"; # only on Cygwin: assure Windows\System32 is present for w32api DLLs - if check_prog cygpath + if check_prog /bin/cygpath then - PATH+=":$(cygpath -S)" + PATH+=":$(/bin/cygpath -S)" fi if (cross_compiling || [ "${CHOST}" != "${CTARGET}" ]) && ! __target_is_embedded && check_target_tool gcc diff --git a/lib/pkg_pkg.cygpart b/lib/pkg_pkg.cygpart index 6f02f7e9..65dd145d 100644 --- a/lib/pkg_pkg.cygpart +++ b/lib/pkg_pkg.cygpart @@ -32,6 +32,42 @@ # section. #**** +#****v* Packaging/TAR_COMPRESSION_EXT +# SYNOPSIS +# TAR_COMPRESSION_EXT="zstd" +# DESCRIPTION +# The compression to be used for package tar archives, default xz. +# DEFINITION +TAR_COMPRESSION_EXT="${TAR_COMPRESSION_EXT:-xz}" +#**** + +__tar() { + local TAR_COMPRESSION_OPT; + + # We could use --auto-compress, but this also constrains the extension + # to the currently valid set. We could probe if tar supports the + # compression and/or use an external compressor. + case ${TAR_COMPRESSION_EXT} in + bz2) + TAR_COMPRESSION_OPT="-j" + ;; + gz) + TAR_COMPRESSION_OPT="-z" + warning "gzip compression for packages is considered obsolete" + ;; + xz) + TAR_COMPRESSION_OPT="-J" + ;; + zst) + TAR_COMPRESSION_OPT="--zstd" + ;; + *) + error "tar option for TAR_COMPRESSION_EXT='${TAR_COMPRESSION_EXT}' unknown" + ;; + esac + tar ${TAR_COMPRESSION_OPT} --owner=Guest:501 --group=None:513 -cvf "$@" +} + __pkg_binpkg() { local -i n=0; local pkg_contents; @@ -62,9 +98,11 @@ __pkg_binpkg() { # PKG_NAMES="foo libfoo1 libfoo-devel libfoo-doc" # PKG_HINTS="setup runtime devel doc" # DESCRIPTION -# A list of unsuffixed .hint files which should be used for each given +# A list of unsuffixed .hint files in $C, which should be used for each given # binary package in PKG_NAMES. # NOTES +# * This variable is obsolete, and allowing cygport to automatically generate +# hints should be used in new packages. # * If PN is not included in PKG_NAMES, a file named $PN.hint or setup.hint # is still required for the source package, but should not be listed in # PKG_HINTS. @@ -95,8 +133,7 @@ __pkg_binpkg() { # form of an array. This form should be considered deprecated in favour # of explicitly-named variables as described above. # * If the contents of a package are too many or complicated to easily -# describe in this form, a PN.list file can be used instead and placed -# in C before the packaging stage. +# describe in this form, a PKG.list file in $C can be used instead. #**** pkg_list=(${PKG_LISTS:-${PKG_NAMES}}); @@ -136,7 +173,7 @@ __pkg_binpkg() { *-[0-9]*) error "Package ${pkg_name[${n}]}: Use underscore instead of hyphen when followed by digit" ;; esac - __step "${pkg_name[${n}]}-${PVR}.tar.xz"; + __step "${pkg_name[${n}]}-${PVR}.tar.${TAR_COMPRESSION_EXT}"; pkg_contents_var=${pkg_name[${n}]//[-+\.]/_}_CONTENTS; pkg_docs_var=${pkg_name[${n}]//[-+\.]/_}_DOCS; @@ -170,7 +207,7 @@ __pkg_binpkg() { if defined pkg_contents then mkdir -p ${distdir}/${PN}/${distsubdir}; - tar Jcvf ${distdir}/${PN}/${distsubdir}/${pkg_name[${n}]}-${PVR}.tar.xz \ + __tar ${distdir}/${PN}/${distsubdir}/${pkg_name[${n}]}-${PVR}.tar.${TAR_COMPRESSION_EXT} \ --exclude=usr/lib/debug --exclude=usr/src \ --exclude=${autoloaddir} \ ${pkg_contents} \ @@ -179,7 +216,8 @@ __pkg_binpkg() { else inform "Creating empty package" mkdir -p ${distdir}/${PN}/${distsubdir}; - tar -Jcf ${distdir}/${PN}/${distsubdir}/${pkg_name[${n}]}-${PVR}.tar.xz --files-from /dev/null \ + __tar ${distdir}/${PN}/${distsubdir}/${pkg_name[${n}]}-${PVR}.tar.${TAR_COMPRESSION_EXT} \ + --files-from /dev/null \ || error "Empty package creation failed" > ${T}/.${pkg_name[${n}]}.lst fi @@ -192,9 +230,9 @@ __pkg_binpkg() { [ -d ${autoloaddir} ] || autoloaddir= local dbg_contents_var=${PN//[-+\.]/_}_debuginfo_CONTENTS; - __step "${PN}-debuginfo-${PVR}.tar.xz"; + __step "${PN}-debuginfo-${PVR}.tar.${TAR_COMPRESSION_EXT}"; mkdir -p ${distdir}/${PN}/${PN}-debuginfo; - tar Jcvf ${distdir}/${PN}/${PN}-debuginfo/${PN}-debuginfo-${PVR}.tar.xz \ + __tar ${distdir}/${PN}/${PN}-debuginfo/${PN}-debuginfo-${PVR}.tar.${TAR_COMPRESSION_EXT} \ usr/*/debug/ ${autoloaddir} ${!dbg_contents_var} \ | tee ${T}/.${PN}-debuginfo.lst \ || error "Debuginfo package creation failed: ${PN}-debuginfo" @@ -223,7 +261,7 @@ __pkg_pkgcheck() { n+=1 done - if ! defined _CYGPORT_RESTRICT_debuginfo_ && [ -f ${distdir}/${PN}/${PN}-debuginfo/${PN}-debuginfo-${PVR}.tar.xz ] + if ! defined _CYGPORT_RESTRICT_debuginfo_ && [ -f ${distdir}/${PN}/${PN}-debuginfo/${PN}-debuginfo-${PVR}.tar.${TAR_COMPRESSION_EXT} ] then grep -Ev "/$" ${T}/.${PN}-debuginfo.lst >> ${tmp1} fi @@ -280,6 +318,7 @@ __pkg_diff() { local diff_excludes_x; local difflevel; local exclude; + local optional_patchfiles; default_excludes="CYGWIN-PATCHES aclocal.m4~ aclocal.m4t autom4te.cache config.cache config.guess config.log config.status config.sub @@ -423,20 +462,30 @@ __pkg_diff() { ;; esac - # diff exits >0 when targets differ, hence catch exception with true if [ "${SRC_DIR}" = "." ] then - diff -urN -x '*~' \ - ${origsrcdir##*/}/CYGWIN-PATCHES ${srcdir##*/}/CYGWIN-PATCHES \ - > ${patchdir}/${cygwin_patchfile} || true; difflevel=1; else - diff -urN -x '*~' \ - ${origsrcdir##*/}/${SRC_DIR}/CYGWIN-PATCHES ${srcdir##*/}/${SRC_DIR}/CYGWIN-PATCHES \ - > ${patchdir}/${cygwin_patchfile} || true; + difflevel=2; fi + if [ -z "${CYGWIN_FILES}" ] + then + # diff exits >0 when targets differ, hence catch exception with true + if [ "${SRC_DIR}" = "." ] + then + diff -urN -x '*~' \ + ${origsrcdir##*/}/CYGWIN-PATCHES ${srcdir##*/}/CYGWIN-PATCHES \ + > ${patchdir}/${cygwin_patchfile} || true; + else + diff -urN -x '*~' \ + ${origsrcdir##*/}/${SRC_DIR}/CYGWIN-PATCHES ${srcdir##*/}/${SRC_DIR}/CYGWIN-PATCHES \ + > ${patchdir}/${cygwin_patchfile} || true; + fi + optional_patchfiles=${patchdir}/${cygwin_patchfile} + fi + if defined _CYGPORT_RESTRICT_diff_ then rm -f ${patchdir}/${src_patchfile}; @@ -447,9 +496,9 @@ __pkg_diff() { > ${patchdir}/${src_patchfile} || true; fi - sed -b -e '/^diff -u/d' -i ${patchdir}/${cygwin_patchfile} ${patchdir}/${src_patchfile}; + sed -b -e '/^diff -u/d' -i ${optional_patchfiles} ${patchdir}/${src_patchfile}; - diffstat -p${difflevel} ${patchdir}/${cygwin_patchfile} ${patchdir}/${src_patchfile}; + diffstat -p${difflevel} ${optional_patchfiles} ${patchdir}/${src_patchfile}; } __gpg_sign() { @@ -464,6 +513,7 @@ __squeeze_whitespace() { } __pkg_srcpkg() { + local cygwin_file; local src; local pkg_tag=${1}; @@ -480,17 +530,22 @@ __pkg_srcpkg() { if [ -s ${patchdir}/${cygwin_patchfile} ] then - cp ${patchdir}/${cygwin_patchfile} ${spkgdir}; + cp --preserve=timestamps ${patchdir}/${cygwin_patchfile} ${spkgdir}; fi if [ -s ${patchdir}/${src_patchfile} ] then - cp ${patchdir}/${src_patchfile} ${spkgdir}; + cp --preserve=timestamps ${patchdir}/${src_patchfile} ${spkgdir}; fi __step "Creating source package"; - cp ${top}/${cygportfile} ${spkgdir}; + for cygwin_file in ${CYGWIN_FILES} + do + cp --preserve=timestamps ${C}/${cygwin_file} ${spkgdir} + done + + cp --preserve=timestamps ${top}/${cygportfile} ${spkgdir}; for src in ${_src_orig_pkgs} ${_src_orig_patches} do @@ -503,7 +558,7 @@ __pkg_srcpkg() { else src=${top}/${src}; fi - cp ${src} ${spkgdir}; + cp --preserve=timestamps ${src} ${spkgdir}; done if __arg_bool SIG @@ -517,6 +572,12 @@ __pkg_srcpkg() { __gpg_sign ${spkgdir}/${cygwin_patchfile} "CYGWIN PATCH"; fi + if [ -n "${CYGWIN_FILES}" && check_prog sha512sum ] + then + (cd ${spkgdir} ; sha512sum ${CYGWIN_FILES} >${spkgdir}/sha512.sum) + __gpg_sign ${spkgdir}/sha512.sum "CYGWIN FILES MANIFEST"; + fi + if [ -f ${spkgdir}/${src_patchfile} ] then __gpg_sign ${spkgdir}/${src_patchfile} "SOURCE PATCH"; @@ -529,7 +590,7 @@ __pkg_srcpkg() { cd ${spkgdir%/*}; mkdir -p ${distdir}/${PN}; - tar Jcvf ${distdir}/${PN}/${PF}-src.tar.xz ${spkgdir##*/}/ || error "Source package creation failed" + __tar ${distdir}/${PN}/${PF}-src.tar.${TAR_COMPRESSION_EXT} ${spkgdir##*/}/ || error "Source package creation failed" echo; # source package hint @@ -698,9 +759,9 @@ __pkg_dist() { #**** #****v* Packaging/OBSOLETES # DESCRIPTION -# A single-line string containing a list of package(s) which this -# package replaces. An empty package will be created for each listed -# obsoletion which will cause this package to be installed in its place. +# A single-line string containing a list of package(s) which this package +# replaces. This package's metadata will include the listed obsoletions, which +# will cause this package to be installed in their place. # NOTE # If there is more than one package in PKG_NAMES, this variable will be # ignored; you must use PKG_OBSOLETES instead. @@ -709,9 +770,9 @@ __pkg_dist() { #**** #****v* Packaging/PKG_OBSOLETES # DESCRIPTION -# A single-line string containing a list of package(s) which this -# package replaces. An empty package will be created for each listed -# obsoletion which will cause PKG to be installed in its place. +# A single-line string containing a list of package(s) which PKG replaces. +# PKG's metadata will include the listed obsoletions, which will cause PKG to +# be installed in their place. # # Note that the PKG_OBSOLETES name is descriptive rather than literal, # where "PKG" should be substituted with the name of the binary package @@ -719,6 +780,12 @@ __pkg_dist() { # cannot be used in a shell variable name (namely '+', '-', and '.'), # that character must be substituted with an underscore ('_'), e.g. # libfoo-devel will use libfoo_devel_OBSOLETES. +# +# NOTES +# * Additionally, if a debuginfo package is automatically generated, you may +# specify a PN_debuginfo_OBSOLETES value, even though PN_debuginfo is not +# explicitly listed in PKG_NAMES. +# #**** #****v* Packaging/PROVIDES # DESCRIPTION @@ -872,7 +939,7 @@ _EOF n+=1; done - if ! defined _CYGPORT_RESTRICT_debuginfo_ && [ -f ${distdir}/${PN}/${PN}-debuginfo/${PN}-debuginfo-${PVR}.tar.xz ] + if ! defined _CYGPORT_RESTRICT_debuginfo_ && [ -f ${distdir}/${PN}/${PN}-debuginfo/${PN}-debuginfo-${PVR}.tar.${TAR_COMPRESSION_EXT} ] then if [ -f ${C}/${PN}-debuginfo.hint ] then @@ -905,4 +972,5 @@ _EOF } # protect functions -readonly -f __pkg_binpkg __pkg_diff __gpg_sign __pkg_srcpkg __pkg_dist +readonly -f __pkg_binpkg __pkg_diff __gpg_sign __pkg_srcpkg __pkg_dist \ + __squeeze_whitespace __tar diff --git a/lib/pkg_upload.cygpart b/lib/pkg_upload.cygpart index f4c22ce5..dcae8e2c 100644 --- a/lib/pkg_upload.cygpart +++ b/lib/pkg_upload.cygpart @@ -26,13 +26,13 @@ # to users you'll need to upload them to the Cygwin package archive. Before # you can upload packages, you'll need to do the following things: # * Request upload privileges, and provide your ssh public key. The -# |html Uploading Packages +# |html Uploading Packages # page tells how to do that, and how to be notified in case of problems with # your uploads. # * After your key is approved, connect once to cygwin.com by # |html sftp cygwin@cygwin.com. # Verify that the host key fingerprint for cygwin.com matches one of the ones posted on the -# |html Uploading Packages +# |html Providing an SSH key # page. If it does, answer "yes" to continue connecting. Then exit sftp. # This will store the host key fingerprint in your ~/.known_hosts file. # You have to do this once before uploading, or the upload will fail. @@ -81,7 +81,7 @@ __pkg_upload() { # Check that binary and source package files exist - pkg_files=("${NAME}/${NAME}-${PVR}-src.tar.xz" "${NAME}/${NAME}-${PVR}-src.hint") + pkg_files=("${NAME}/${NAME}-${PVR}-src.tar.${TAR_COMPRESSION_EXT}" "${NAME}/${NAME}-${PVR}-src.hint") while (( n < pkg_count )) do @@ -90,13 +90,13 @@ __pkg_upload() { *) distsubdir=${pkg_name[${n}]} ;; esac - pkg_files+=("${NAME}/${distsubdir}/${pkg_name[${n}]}-${PVR}.tar.xz" "${NAME}/${distsubdir}/${pkg_name[${n}]}-${PVR}.hint") + pkg_files+=("${NAME}/${distsubdir}/${pkg_name[${n}]}-${PVR}.tar.${TAR_COMPRESSION_EXT}" "${NAME}/${distsubdir}/${pkg_name[${n}]}-${PVR}.hint") n+=1 done if [ -d ${NAME}/${NAME}-debuginfo ] then - pkg_files+=("${NAME}/${NAME}-debuginfo/${NAME}-debuginfo-${PVR}.tar.xz" "${NAME}/${NAME}-debuginfo/${NAME}-debuginfo-${PVR}.hint") + pkg_files+=("${NAME}/${NAME}-debuginfo/${NAME}-debuginfo-${PVR}.tar.${TAR_COMPRESSION_EXT}" "${NAME}/${NAME}-debuginfo/${NAME}-debuginfo-${PVR}.hint") fi for file in "${pkg_files[@]}" diff --git a/lib/src_fetch.cygpart b/lib/src_fetch.cygpart index 67e7bafe..930f5f65 100644 --- a/lib/src_fetch.cygpart +++ b/lib/src_fetch.cygpart @@ -64,9 +64,9 @@ # # NOTE # -# For historical reasons, patches with basenames of ${PVR}.{cygwin,src}.patch +# For historical reasons, patches with basenames of ${PF}.{cygwin,src}.patch # should not be listed in PATCH_URI, as they are treated specially and are -# automatically applied, if present. +# automatically applied, if present, and generated, if required. # # NOTE # @@ -98,7 +98,7 @@ fetch() { fi elif check_prog curl then - if curl -k --url ${uri} -o ${urifile}.tmp + if curl -R -k --url ${uri} -o ${urifile}.tmp then mv -f ${urifile}.tmp ${urifile} else diff --git a/lib/src_postinst.cygpart b/lib/src_postinst.cygpart index b0361b1b..eb33939e 100644 --- a/lib/src_postinst.cygpart +++ b/lib/src_postinst.cygpart @@ -420,6 +420,11 @@ _EOF # DESCRIPTION # Standard documentation files in $S will be automatically installed into # $D/usr/share/doc/PN. Empty files will be skipped. +# +# Any README in $C will be automatically installed into /usr/share/doc/Cygwin/ +# as $PN.README. Any PKG.README will be automatically installed into +# /usr/share/doc/Cygwin/ (where PKG is the name of a binary package). +# # SEE ALSO # RESTRICT #**** @@ -561,6 +566,21 @@ __prepetc() { local -i n; local s; +#****P* Postinstall/Post-install and Pre-remove Scripts +# DESCRIPTION +# Any postinstall.sh or $PN.postinstall in $C will be automatically appended to +# /etc/postinstall/$PN.sh. Any PKG.postinstall in $C will be automatically +# appended to /etc/postinstall/$PKG.sh (where PKG is the name of a binary +# package). +# +# Likewise, any preremove.sh or $PN.preremove in $C will be automatically +# appended to /etc/preremove/$PN.sh. Any PKG.preremove in $C will be +# automatically appended to /etc/preremove/$PKG.sh +# +# As they are appended, these scripts should be written as stubs, without the +# shebang header. +#**** + for s in postinstall preremove do if [ -f ${C}/${s}.sh -a -f ${C}/${PN}.${s} ] @@ -589,6 +609,12 @@ __prepetc() { done done +#****P* Postinstall/Shell Profile Files +# DESCRIPTION +# Any profile.d.{sh,csh,fish} in $C will be automatically installed into +# /etc/profile.d/ as ${PN}.{sh,csh,fish} +#**** + if [ -f ${C}/profile.d.sh ] then exeinto /etc/profile.d; diff --git a/lib/src_prep.cygpart b/lib/src_prep.cygpart index ca487666..da174dd8 100644 --- a/lib/src_prep.cygpart +++ b/lib/src_prep.cygpart @@ -1,4 +1,3 @@ - ################################################################################ # # src_prep.cygpart - cygport source unpacking and preparation functions @@ -286,6 +285,7 @@ cygpatch() { } __src_prep() { + local cygwin_file; local sigext; local sig_exts="asc sig sign"; local src_orig_patch; @@ -464,6 +464,41 @@ __src_prep() { mkdir -p ${C}; ln -sfn ${C} ${workdir}/CYGWIN-PATCHES; +#****v* Preparation/CYGWIN_FILES +# DESCRIPTION +# A list of files which are to be included in the source package, and installed +# into ${C}. +# NOTE +# Historically, files in $C were created by a patch file named +# ${PF}.cygwin.patch, which is automatically applied and generated. This +# variable should not be set if that file is present. +# +# In the absence of a ${PF}.cygwin.patch file, the default value is 'README' if +# a file of that name exists, otherwise empty. +# +#**** + + if [ ! -e ${top}/${cygwin_patchfile} ] + then + if [ -f ${top}/README ] + then + CYGWIN_FILES="${CYGWIN_FILES:-README}" + fi + fi + + if [ -n "${CYGWIN_FILES}" ] + then + if [ -f ${top}/${cygwin_patchfile} ] + then + error "Use only the CYGWIN_FILES variable or a ${cygwin_patchfile} patchfile, not both" + fi + + for cygwin_file in ${CYGWIN_FILES} + do + cp -a ${top}/${cygwin_file} ${C}/ + done + fi + cd ${S}; if [ -f ${top}/${cygwin_patchfile} ] diff --git a/lib/syntax.cygpart b/lib/syntax.cygpart index 4a400a71..3d215b7d 100644 --- a/lib/syntax.cygpart +++ b/lib/syntax.cygpart @@ -312,17 +312,20 @@ __target_is_embedded() { # the upstream name is to append a version "slot" where multiple versions of # a package are completely parallel installable (e.g. gtk1.2 and gtk2.0, both # from gtk+). In this case, define ORIG_PN to the upstream package name. +# NOTE +# See https://cygwin.com/packaging-package-files.html#naming for more details +# of the policy on package naming and versioning. #**** #****v* Globals/VERSION # DESCRIPTION -# The upstream package version number. PV must begin with a digit 0-9, and -# subsequent characters can be a digit, letter, dot, hyphen, or underscore. +# The upstream package version number. VERSION must begin with a digit 0-9, and +# subsequent characters can be a digit, letter, dot, plus-sign or underscore. #**** #****v* Globals/RELEASE # DESCRIPTION # The Cygwin package release number, e.g. the "1" in foo-2.3.4-1. The first # release of a new version is usually 1, and is incremented if subsequent -# releases are made of the same version. PR must be an integer. +# releases are made of the same version. #**** #****d* Globals/PN # DESCRIPTION @@ -360,9 +363,14 @@ __target_is_embedded() { #**** #****d* Globals/C # DESCRIPTION -# The CYGWIN-PATCHES directory where Cygwin READMEs, setup.hint files, -# custom postinstall scripts, and other Cygwin-specific files are placed -# before packaging. +# The directory where Cygwin READMEs, custom post-install scripts, shell +# profile scripts, PKG.list files, and other Cygwin-specific files are placed. +# NOTE +# Providing setup.hint or PKG.hint files in this directory (rather than +# allowing .hint files to be automatically generated) is an obsolete feature +# and should not be used in new packages. +# +# For historical reasons, this directory is named 'CYGWIN-PATCHES'. #**** #****d* Globals/D # DESCRIPTION diff --git a/meson.build b/meson.build index ac46272b..dfe5f18c 100644 --- a/meson.build +++ b/meson.build @@ -1,5 +1,5 @@ project('cygport', - version: '0.35.5') + version: '0.36.0') bindir = join_paths(get_option('prefix'), get_option('bindir')) datadir = join_paths(get_option('prefix'), get_option('datadir')) diff --git a/testsuite/R/cran/vars b/testsuite/R/cran/vars new file mode 100644 index 00000000..4e204326 --- /dev/null +++ b/testsuite/R/cran/vars @@ -0,0 +1,3 @@ +declare -r ARCHES="all" +declare -- CROSS_HOST="" +declare -- INHERITED="R autotools " diff --git a/testsuite/aspell/dict/vars b/testsuite/aspell/dict/vars new file mode 100644 index 00000000..11ed4d9a --- /dev/null +++ b/testsuite/aspell/dict/vars @@ -0,0 +1,3 @@ +declare -r ARCHES="all" +declare -- CROSS_HOST="" +declare -- INHERITED="aspell-dict autotools " diff --git a/testsuite/autotools/c/vars b/testsuite/autotools/c/vars new file mode 100644 index 00000000..075532a6 --- /dev/null +++ b/testsuite/autotools/c/vars @@ -0,0 +1,3 @@ +declare -r ARCHES="all" +declare -- CROSS_HOST="" +declare -- INHERITED="autotools " diff --git a/testsuite/autotools/gnome/vars b/testsuite/autotools/gnome/vars new file mode 100644 index 00000000..ef6feea6 --- /dev/null +++ b/testsuite/autotools/gnome/vars @@ -0,0 +1,3 @@ +declare -r ARCHES="all" +declare -- CROSS_HOST="" +declare -- INHERITED="gnome.org gnome2 autotools " diff --git a/testsuite/autotools/gtkmm/vars b/testsuite/autotools/gtkmm/vars new file mode 100644 index 00000000..4a3301e6 --- /dev/null +++ b/testsuite/autotools/gtkmm/vars @@ -0,0 +1,3 @@ +declare -r ARCHES="all" +declare -- CROSS_HOST="" +declare -- INHERITED="gnome.org gtkmm autotools " diff --git a/testsuite/autotools/kde3/vars b/testsuite/autotools/kde3/vars new file mode 100644 index 00000000..01f22c0d --- /dev/null +++ b/testsuite/autotools/kde3/vars @@ -0,0 +1,3 @@ +declare -r ARCHES="all" +declare -- CROSS_HOST="" +declare -- INHERITED="kde.org qt3 kde3 autotools " diff --git a/testsuite/autotools/mate/hints/mate-menus-1.18.0-1.x86_64/dist/mate-menus/python2-matemenu/python2-matemenu-1.18.0-1.hint b/testsuite/autotools/mate/hints/mate-menus-1.18.0-1.x86_64/dist/mate-menus/python2-matemenu/python2-matemenu-1.18.0-1.hint deleted file mode 100644 index b14d4a5b..00000000 --- a/testsuite/autotools/mate/hints/mate-menus-1.18.0-1.x86_64/dist/mate-menus/python2-matemenu/python2-matemenu-1.18.0-1.hint +++ /dev/null @@ -1,8 +0,0 @@ -category: Python -requires: cygwin libglib2.0_0 libmate-menu2 python27 -sdesc: "MATE Desktop Menu Specification library (Python bindings)" -ldesc: "MATE is a fork of the GNOME 2 desktop. It provides an intuitive -and attractive desktop to Linux users using traditional metaphors." -obsoletes: python-matemenu -external-source: mate-menus - diff --git a/testsuite/autotools/mate/mate-menus.cygport b/testsuite/autotools/mate/mate-menus.cygport index 75e03052..d2ea302e 100644 --- a/testsuite/autotools/mate/mate-menus.cygport +++ b/testsuite/autotools/mate/mate-menus.cygport @@ -1,4 +1,4 @@ -inherit mate python2 +inherit mate NAME="mate-menus" VERSION=1.18.0 @@ -9,9 +9,9 @@ DESCRIPTION="MATE is a fork of the GNOME 2 desktop. It provides an intuitive and attractive desktop to Linux users using traditional metaphors." PATCH_URI="1.2.0-no-undefined.patch" -export PYTHON="python2" +CYGCONF_ARGS="--disable-python" -PKG_NAMES="${NAME} libmate-menu2 libmate-menu-devel girepository-MateMenu2.0 python2-matemenu" +PKG_NAMES="${NAME} libmate-menu2 libmate-menu-devel girepository-MateMenu2.0" mate_menus_CATEGORY="MATE" mate_menus_CONTENTS="etc/ usr/share/doc/ usr/share/locale/ usr/share/mate/" libmate_menu2_SUMMARY="MATE Desktop Menu Specification library (runtime)" @@ -21,7 +21,3 @@ libmate_menu_devel_SUMMARY="MATE Desktop Menu Specification library (development libmate_menu_devel_CONTENTS="usr/include/ usr/lib/lib* usr/lib/pkgconfig/" girepository_MateMenu2_0_SUMMARY="MATE Desktop Menu Specification library (GObject Introspection)" girepository_MateMenu2_0_CONTENTS="usr/*/gir*/MateMenu-2.0.*" -python2_matemenu_CATEGORY="Python" -python2_matemenu_SUMMARY="MATE Desktop Menu Specification library (Python bindings)" -python2_matemenu_OBSOLETES="python-matemenu" -python2_matemenu_CONTENTS="${PYTHON2_SITELIB#/}/matemenu.dll usr/share/mate-menus/examples/" diff --git a/testsuite/autotools/mate/mate-menus.list b/testsuite/autotools/mate/mate-menus.list index d9ffb350..3fe35899 100644 --- a/testsuite/autotools/mate/mate-menus.list +++ b/testsuite/autotools/mate/mate-menus.list @@ -6,7 +6,6 @@ /usr/lib/girepository-1.0/MateMenu-2.0.typelib /usr/lib/libmate-menu.dll.a /usr/lib/pkgconfig/libmate-menu.pc -/usr/lib/python2.7/site-packages/matemenu.dll /usr/share/doc/mate-menus/AUTHORS /usr/share/doc/mate-menus/COPYING /usr/share/doc/mate-menus/COPYING.LIB @@ -121,7 +120,6 @@ /usr/share/locale/zh_CN/LC_MESSAGES/mate-menus.mo /usr/share/locale/zh_HK/LC_MESSAGES/mate-menus.mo /usr/share/locale/zh_TW/LC_MESSAGES/mate-menus.mo -/usr/share/mate-menus/examples/mate-menus-ls.py /usr/share/mate/desktop-directories/mate-audio-video.directory /usr/share/mate/desktop-directories/mate-development.directory /usr/share/mate/desktop-directories/mate-education.directory diff --git a/testsuite/autotools/mate/vars b/testsuite/autotools/mate/vars new file mode 100644 index 00000000..b5f82994 --- /dev/null +++ b/testsuite/autotools/mate/vars @@ -0,0 +1,3 @@ +declare -r ARCHES="all" +declare -- CROSS_HOST="" +declare -- INHERITED="mate autotools " diff --git a/testsuite/autotools/meson.build b/testsuite/autotools/meson.build index 1b20ff42..34ea6cd7 100644 --- a/testsuite/autotools/meson.build +++ b/testsuite/autotools/meson.build @@ -24,7 +24,7 @@ endif if kde3.found() and libexif.found() tests += [['autotools/kde3', 720]] endif -if mate_common.found() and gi.found() and python2.found() +if mate_common.found() and gi.found() tests += [['autotools/mate', 720]] endif if xdt.found() and xfce4_panel.found() diff --git a/testsuite/autotools/xfce/vars b/testsuite/autotools/xfce/vars new file mode 100644 index 00000000..d2e51eaf --- /dev/null +++ b/testsuite/autotools/xfce/vars @@ -0,0 +1,3 @@ +declare -r ARCHES="all" +declare -- CROSS_HOST="" +declare -- INHERITED="xfce4 autotools " diff --git a/testsuite/basic/info/vars b/testsuite/basic/info/vars new file mode 100644 index 00000000..075532a6 --- /dev/null +++ b/testsuite/basic/info/vars @@ -0,0 +1,3 @@ +declare -r ARCHES="all" +declare -- CROSS_HOST="" +declare -- INHERITED="autotools " diff --git a/testsuite/cmake/c/vars b/testsuite/cmake/c/vars new file mode 100644 index 00000000..c2de1531 --- /dev/null +++ b/testsuite/cmake/c/vars @@ -0,0 +1,3 @@ +declare -r ARCHES="all" +declare -- CROSS_HOST="" +declare -- INHERITED="ninja cmake autotools " diff --git a/testsuite/cmake/kde4/vars b/testsuite/cmake/kde4/vars new file mode 100644 index 00000000..240455f5 --- /dev/null +++ b/testsuite/cmake/kde4/vars @@ -0,0 +1,3 @@ +declare -r ARCHES="all" +declare -- CROSS_HOST="" +declare -- INHERITED="kde.org qt4 ninja cmake kde4 autotools " diff --git a/testsuite/cmake/kf5/vars b/testsuite/cmake/kf5/vars new file mode 100644 index 00000000..482bef4f --- /dev/null +++ b/testsuite/cmake/kf5/vars @@ -0,0 +1,3 @@ +declare -r ARCHES="all" +declare -- CROSS_HOST="" +declare -- INHERITED="kde.org qt5 ninja cmake kf5 autotools " diff --git a/testsuite/cmake/qt4/vars b/testsuite/cmake/qt4/vars new file mode 100644 index 00000000..d9d73928 --- /dev/null +++ b/testsuite/cmake/qt4/vars @@ -0,0 +1,3 @@ +declare -r ARCHES="all" +declare -- CROSS_HOST="" +declare -- INHERITED="qt4 ninja cmake qt4-cmake autotools " diff --git a/testsuite/cmake/qt5/vars b/testsuite/cmake/qt5/vars new file mode 100644 index 00000000..93d1e596 --- /dev/null +++ b/testsuite/cmake/qt5/vars @@ -0,0 +1,3 @@ +declare -r ARCHES="all" +declare -- CROSS_HOST="" +declare -- INHERITED="ninja cmake qt5 autotools " diff --git a/testsuite/cross/cmake/vars b/testsuite/cross/cmake/vars new file mode 100644 index 00000000..891c9a76 --- /dev/null +++ b/testsuite/cross/cmake/vars @@ -0,0 +1,3 @@ +declare -r ARCHES="noarch" +declare -- CROSS_HOST="i686-w64-mingw32" +declare -- INHERITED="ninja cmake cross autotools " diff --git a/testsuite/cross/make/vars b/testsuite/cross/make/vars new file mode 100644 index 00000000..92816415 --- /dev/null +++ b/testsuite/cross/make/vars @@ -0,0 +1,3 @@ +declare -r ARCHES="noarch" +declare -- CROSS_HOST="i686-w64-mingw32" +declare -- INHERITED="git cross autotools " diff --git a/testsuite/cross/qt5/vars b/testsuite/cross/qt5/vars new file mode 100644 index 00000000..a6cfae09 --- /dev/null +++ b/testsuite/cross/qt5/vars @@ -0,0 +1,3 @@ +declare -r ARCHES="noarch" +declare -- CROSS_HOST="i686-w64-mingw32" +declare -- INHERITED="qt5 qt5-qmake cross autotools " diff --git a/testsuite/docbook/sgml/vars b/testsuite/docbook/sgml/vars new file mode 100644 index 00000000..db0ac7a7 --- /dev/null +++ b/testsuite/docbook/sgml/vars @@ -0,0 +1,3 @@ +declare -r ARCHES="all" +declare -- CROSS_HOST="" +declare -- INHERITED="docbook autotools " diff --git a/testsuite/docbook/xml/vars b/testsuite/docbook/xml/vars new file mode 100644 index 00000000..db0ac7a7 --- /dev/null +++ b/testsuite/docbook/xml/vars @@ -0,0 +1,3 @@ +declare -r ARCHES="all" +declare -- CROSS_HOST="" +declare -- INHERITED="docbook autotools " diff --git a/testsuite/download/R/vars b/testsuite/download/R/vars new file mode 100644 index 00000000..2a36b7a5 --- /dev/null +++ b/testsuite/download/R/vars @@ -0,0 +1,3 @@ +declare -r ARCHES="all" +declare -- CROSS_HOST="" +declare -- INHERITED="test-fetch autotools " diff --git a/testsuite/download/bzr/vars b/testsuite/download/bzr/vars new file mode 100644 index 00000000..af73e71d --- /dev/null +++ b/testsuite/download/bzr/vars @@ -0,0 +1,3 @@ +declare -r ARCHES="all" +declare -- CROSS_HOST="" +declare -- INHERITED="test-fetch bzr autotools " diff --git a/testsuite/download/cvs/vars b/testsuite/download/cvs/vars new file mode 100644 index 00000000..b034a307 --- /dev/null +++ b/testsuite/download/cvs/vars @@ -0,0 +1,3 @@ +declare -r ARCHES="all" +declare -- CROSS_HOST="" +declare -- INHERITED="test-fetch cvs autotools " diff --git a/testsuite/download/git/vars b/testsuite/download/git/vars new file mode 100644 index 00000000..d68a2c30 --- /dev/null +++ b/testsuite/download/git/vars @@ -0,0 +1,3 @@ +declare -r ARCHES="all" +declare -- CROSS_HOST="" +declare -- INHERITED="test-fetch git autotools " diff --git a/testsuite/download/gnome.org/vars b/testsuite/download/gnome.org/vars new file mode 100644 index 00000000..9fef6133 --- /dev/null +++ b/testsuite/download/gnome.org/vars @@ -0,0 +1,3 @@ +declare -r ARCHES="noarch" +declare -- CROSS_HOST="" +declare -- INHERITED="test-fetch gnome.org gnome2 autotools " diff --git a/testsuite/download/hg/vars b/testsuite/download/hg/vars new file mode 100644 index 00000000..8bc94eda --- /dev/null +++ b/testsuite/download/hg/vars @@ -0,0 +1,3 @@ +declare -r ARCHES="all" +declare -- CROSS_HOST="" +declare -- INHERITED="test-fetch hg autotools " diff --git a/testsuite/download/mate/vars b/testsuite/download/mate/vars new file mode 100644 index 00000000..09412d86 --- /dev/null +++ b/testsuite/download/mate/vars @@ -0,0 +1,3 @@ +declare -r ARCHES="noarch" +declare -- CROSS_HOST="" +declare -- INHERITED="test-fetch mate autotools " diff --git a/testsuite/download/mtn/vars b/testsuite/download/mtn/vars new file mode 100644 index 00000000..efed76b4 --- /dev/null +++ b/testsuite/download/mtn/vars @@ -0,0 +1,3 @@ +declare -r ARCHES="noarch" +declare -- CROSS_HOST="" +declare -- INHERITED="test-fetch mtn autotools " diff --git a/testsuite/download/perl/vars b/testsuite/download/perl/vars new file mode 100644 index 00000000..2bd4250b --- /dev/null +++ b/testsuite/download/perl/vars @@ -0,0 +1,3 @@ +declare -r ARCHES="noarch" +declare -- CROSS_HOST="" +declare -- INHERITED="test-fetch perl autotools " diff --git a/testsuite/download/python.org/vars b/testsuite/download/python.org/vars new file mode 100644 index 00000000..1434fe2b --- /dev/null +++ b/testsuite/download/python.org/vars @@ -0,0 +1,3 @@ +declare -r ARCHES="noarch" +declare -- CROSS_HOST="" +declare -- INHERITED="test-fetch python.org autotools " diff --git a/testsuite/download/svn/hints/python-clang-9.0.1-1.noarch/dist/python-clang/python27-clang/python27-clang-9.0.1-1.hint b/testsuite/download/svn/hints/python-clang-9.0.1-1.noarch/dist/python-clang/python27-clang/python27-clang-9.0.1-1.hint deleted file mode 100644 index dd23e2c4..00000000 --- a/testsuite/download/svn/hints/python-clang-9.0.1-1.noarch/dist/python-clang/python27-clang/python27-clang-9.0.1-1.hint +++ /dev/null @@ -1,9 +0,0 @@ -category: Python -requires: python27 libclang9 -sdesc: "Python bindings for Clang-C Source Indexing Library" -ldesc: "Clang is an LLVM native C/C++/ObjC compiler, which aims to deliver -amazingly fast compiles, extremely useful error and warning messages and to -provide a platform for building great source level tools." -obsoletes: python-clang python2-clang -external-source: python-clang - diff --git a/testsuite/download/svn/python-clang.cygport b/testsuite/download/svn/python-clang.cygport index aef80a03..612d94ec 100644 --- a/testsuite/download/svn/python-clang.cygport +++ b/testsuite/download/svn/python-clang.cygport @@ -1,7 +1,7 @@ SVN_URI="https://github.com/llvm/llvm-project" SVN_BRANCH="tags/llvmorg-${PV}/clang/bindings/python" SVN_MODULE="python-clang" -PYTHON_WHEEL_VERSIONS="2:default" +PYTHON_WHEEL_VERSIONS="default" inherit python-wheel svn NAME="python-clang" diff --git a/testsuite/download/svn/python-clang.list b/testsuite/download/svn/python-clang.list index a3b49623..6aaa655d 100644 --- a/testsuite/download/svn/python-clang.list +++ b/testsuite/download/svn/python-clang.list @@ -1,19 +1,3 @@ -/usr/lib/python2.7/site-packages/clang-9.0.1.dist-info/INSTALLER -/usr/lib/python2.7/site-packages/clang-9.0.1.dist-info/METADATA -/usr/lib/python2.7/site-packages/clang-9.0.1.dist-info/RECORD -/usr/lib/python2.7/site-packages/clang-9.0.1.dist-info/REQUESTED -/usr/lib/python2.7/site-packages/clang-9.0.1.dist-info/WHEEL -/usr/lib/python2.7/site-packages/clang-9.0.1.dist-info/direct_url.json -/usr/lib/python2.7/site-packages/clang-9.0.1.dist-info/top_level.txt -/usr/lib/python2.7/site-packages/clang/__init__.py -/usr/lib/python2.7/site-packages/clang/__init__.pyc -/usr/lib/python2.7/site-packages/clang/__init__.pyo -/usr/lib/python2.7/site-packages/clang/cindex.py -/usr/lib/python2.7/site-packages/clang/cindex.pyc -/usr/lib/python2.7/site-packages/clang/cindex.pyo -/usr/lib/python2.7/site-packages/clang/enumerations.py -/usr/lib/python2.7/site-packages/clang/enumerations.pyc -/usr/lib/python2.7/site-packages/clang/enumerations.pyo /usr/lib/python3.8/site-packages/clang-9.0.1.dist-info/INSTALLER /usr/lib/python3.8/site-packages/clang-9.0.1.dist-info/METADATA /usr/lib/python3.8/site-packages/clang-9.0.1.dist-info/RECORD @@ -52,6 +36,5 @@ /usr/lib/python3.9/site-packages/clang/__pycache__/enumerations.cpython-39.pyc /usr/lib/python3.9/site-packages/clang/cindex.py /usr/lib/python3.9/site-packages/clang/enumerations.py -/usr/share/doc/python27-clang/README.txt /usr/share/doc/python38-clang/README.txt /usr/share/doc/python39-clang/README.txt diff --git a/testsuite/download/svn/vars b/testsuite/download/svn/vars new file mode 100644 index 00000000..ce08dcba --- /dev/null +++ b/testsuite/download/svn/vars @@ -0,0 +1,3 @@ +declare -r ARCHES="noarch" +declare -- CROSS_HOST="" +declare -- INHERITED="svn python.org python-wheel autotools " diff --git a/testsuite/download/x.org/vars b/testsuite/download/x.org/vars new file mode 100644 index 00000000..9999628d --- /dev/null +++ b/testsuite/download/x.org/vars @@ -0,0 +1,3 @@ +declare -r ARCHES="noarch" +declare -- CROSS_HOST="" +declare -- INHERITED="test-fetch xorg autotools " diff --git a/testsuite/files/meson.build b/testsuite/files/meson.build new file mode 100644 index 00000000..00d5b45d --- /dev/null +++ b/testsuite/files/meson.build @@ -0,0 +1 @@ +tests += [['files/xinit', 720]] diff --git a/testsuite/files/xinit/README b/testsuite/files/xinit/README new file mode 100644 index 00000000..62d85292 --- /dev/null +++ b/testsuite/files/xinit/README @@ -0,0 +1 @@ +An example Cygwin README diff --git a/testsuite/files/xinit/hints/xinit-1.4.2-2.x86_64/dist/xinit/xinit-1.4.2-2-src.hint b/testsuite/files/xinit/hints/xinit-1.4.2-2.x86_64/dist/xinit/xinit-1.4.2-2-src.hint new file mode 100644 index 00000000..5f8e4909 --- /dev/null +++ b/testsuite/files/xinit/hints/xinit-1.4.2-2.x86_64/dist/xinit/xinit-1.4.2-2-src.hint @@ -0,0 +1,10 @@ +category: X11 +build-depends: cygport +sdesc: "X.Org X server launcher" +ldesc: "This package contains programs used to start the X Window System +server and a first client program in environments that use multiple window +systems." +skip: + +homepage: https://www.x.org/ +license: MIT diff --git a/testsuite/files/xinit/hints/xinit-1.4.2-2.x86_64/dist/xinit/xinit-1.4.2-2.hint b/testsuite/files/xinit/hints/xinit-1.4.2-2.x86_64/dist/xinit/xinit-1.4.2-2.hint new file mode 100644 index 00000000..d517eb25 --- /dev/null +++ b/testsuite/files/xinit/hints/xinit-1.4.2-2.x86_64/dist/xinit/xinit-1.4.2-2.hint @@ -0,0 +1,7 @@ +category: X11 +requires: bash coreutils cygutils adwaita-themes dbus-x11 run sed util-linux setxkbmap xauth xdg-user-dirs xmodmap xrdb xorg-server xterm xwin-xdg-menu +sdesc: "X.Org X server launcher" +ldesc: "This package contains programs used to start the X Window System +server and a first client program in environments that use multiple window +systems." + diff --git a/testsuite/python/pygtk/hints/python-pynotify-0.1.1-5.x86_64/dist/python-pynotify/python-pynotify-debuginfo/python-pynotify-debuginfo-0.1.1-5.hint b/testsuite/files/xinit/hints/xinit-1.4.2-2.x86_64/dist/xinit/xinit-debuginfo/xinit-debuginfo-1.4.2-2.hint similarity index 50% rename from testsuite/python/pygtk/hints/python-pynotify-0.1.1-5.x86_64/dist/python-pynotify/python-pynotify-debuginfo/python-pynotify-debuginfo-0.1.1-5.hint rename to testsuite/files/xinit/hints/xinit-1.4.2-2.x86_64/dist/xinit/xinit-debuginfo/xinit-debuginfo-1.4.2-2.hint index 2b3e358e..d6e48ffa 100644 --- a/testsuite/python/pygtk/hints/python-pynotify-0.1.1-5.x86_64/dist/python-pynotify/python-pynotify-debuginfo/python-pynotify-debuginfo-0.1.1-5.hint +++ b/testsuite/files/xinit/hints/xinit-1.4.2-2.x86_64/dist/xinit/xinit-debuginfo/xinit-debuginfo-1.4.2-2.hint @@ -1,7 +1,7 @@ category: Debug requires: cygwin-debuginfo -external-source: python-pynotify -sdesc: "Debug info for python-pynotify" +external-source: xinit +sdesc: "Debug info for xinit" ldesc: "This package contains files necessary for debugging the -python-pynotify package with gdb." +xinit package with gdb." diff --git a/testsuite/files/xinit/postinstall.sh b/testsuite/files/xinit/postinstall.sh new file mode 100644 index 00000000..a29881f2 --- /dev/null +++ b/testsuite/files/xinit/postinstall.sh @@ -0,0 +1,3 @@ +case $(uname -s) in *-WOW*) wow64=" (32-bit)" ;; esac +/usr/bin/mkdir -p "$(/usr/bin/cygpath $CYGWINFORALL -P)/Cygwin-X${wow64}" +/usr/bin/mkshortcut $CYGWINFORALL -P -w / -i /usr/bin/xwin-xdg-menu.exe -n "Cygwin-X${wow64}/XWin Server" -a "--quote /usr/bin/bash.exe -l -c \"cd; exec /usr/bin/startxwin\"" /usr/bin/run.exe diff --git a/testsuite/files/xinit/preremove.sh b/testsuite/files/xinit/preremove.sh new file mode 100644 index 00000000..6dbb3b78 --- /dev/null +++ b/testsuite/files/xinit/preremove.sh @@ -0,0 +1,3 @@ +case $(uname -s) in *-WOW*) wow64=" (32-bit)" ;; esac +rm -f "$(cygpath $CYGWINFORALL -P)/Cygwin-X${wow64}/XWin Server.lnk" +rmdir --ignore-fail-on-non-empty "$(cygpath $CYGWINFORALL -P)/Cygwin-X${wow64}" diff --git a/testsuite/files/xinit/profile.d.csh b/testsuite/files/xinit/profile.d.csh new file mode 100644 index 00000000..f6acfe6b --- /dev/null +++ b/testsuite/files/xinit/profile.d.csh @@ -0,0 +1,4 @@ +unsetenv XAPPLRESDIR +unsetenv XCMSDB +unsetenv XKEYSYMDB +unsetenv XNLSPATH diff --git a/testsuite/files/xinit/profile.d.fish b/testsuite/files/xinit/profile.d.fish new file mode 100644 index 00000000..5d65dbf1 --- /dev/null +++ b/testsuite/files/xinit/profile.d.fish @@ -0,0 +1,4 @@ +set -e XAPPLRESDIR +set -e XCMSDB +set -e XKEYSYMDB +set -e XNLSPATH diff --git a/testsuite/files/xinit/profile.d.sh b/testsuite/files/xinit/profile.d.sh new file mode 100644 index 00000000..4c677613 --- /dev/null +++ b/testsuite/files/xinit/profile.d.sh @@ -0,0 +1 @@ +unset XAPPLRESDIR XCMSDB XKEYSYMDB XNLSPATH diff --git a/testsuite/files/xinit/startxdmcp.bat b/testsuite/files/xinit/startxdmcp.bat new file mode 100644 index 00000000..54ef171d --- /dev/null +++ b/testsuite/files/xinit/startxdmcp.bat @@ -0,0 +1,102 @@ +@echo off +SET DISPLAY=127.0.0.1:0.0 + +REM +REM The IP address or hostname of your remote host can be specified as the +REM first (and only) argument to this script. You may also specify the default +REM value in the IF statement below. +REM + +SET REMOTE_HOST=%1 + +IF "%REMOTE_HOST%" == "" SET REMOTE_HOST=10.0.0.1 + + +REM +REM The path in the CYGWIN_ROOT environment variable assignment assume +REM that Cygwin is installed in a directory called 'cygwin' in the root +REM directory of the current drive. You will only need to modify +REM CYGWIN_ROOT if you have installed Cygwin in another directory. For +REM example, if you installed Cygwin in \foo\bar\baz\cygwin, you will need +REM to change \cygwin to \foo\bar\baz\cygwin. +REM +REM This batch file will almost always be run from the same drive (and +REM directory) as the drive that contains Cygwin/X, therefore you will +REM not need to add a drive letter to CYGWIN_ROOT. For example, you do +REM not need to change \cygwin to c:\cygwin if you are running this +REM batch file from the C drive. +REM + +SET CYGWIN_ROOT=\cygwin +SET RUN=%CYGWIN_ROOT%\bin\run -p /usr/bin + +SET PATH=.;%CYGWIN_ROOT%\bin;%PATH% + +SET XAPPLRESDIR= +SET XCMSDB= +SET XKEYSYMDB= +SET XNLSPATH= + + + +REM +REM Cleanup after last run. +REM + +if not exist %CYGWIN_ROOT%\tmp\.X11-unix\X0 goto CLEANUP-FINISH +attrib -s %CYGWIN_ROOT%\tmp\.X11-unix\X0 +del %CYGWIN_ROOT%\tmp\.X11-unix\X0 + +:CLEANUP-FINISH +if exist %CYGWIN_ROOT%\tmp\.X11-unix rmdir %CYGWIN_ROOT%\tmp\.X11-unix + + +REM +REM Startup the X Server and attempt to connect to a remote XDM server. +REM +REM The error "Fatal server error: could not open default font 'fixed'" is +REM caused by using a DOS mode mount for the mount that the Cygwin/X +REM fonts are accessed through. See the Cygwin/X FAQ for more +REM information: +REM http://x.cygwin.com/docs/faq/cygwin-x-faq.html#q-error-font-eof +REM + +if "%OS%" == "Windows_NT" goto OS_NT + +REM Windows 95/98/Me +echo startxdmcp.bat - Starting on Windows 95/98/Me + +goto STARTUP + +:OS_NT + +REM Windows NT/2000/XP +echo startxdmcp.bat - Starting on Windows NT/2000/XP + +:STARTUP + + +REM +REM A few examples of initiating an XDMCP connection are +REM given below. The default is to connect to a specified host +REM with -query. The second example connects to the first +REM responding host with -broadcast. The third example shows +REM how to connect to the font server of a remote host. +REM +REM See startxwin.bat for a description of the most typical +REM command-line parameters for XWin.exe. +REM + +REM Connect to a specified machine. + +%RUN% XWin -query %REMOTE_HOST% -nodecoration -lesspointer + + +REM Connect to the first XDM machine to respond. + +REM %RUN% XWin -broadcast -nodecoration -lesspointer + + +REM Connect to a specified machine and a specified font server. + +REM %RUN% XWin -query %REMOTE_HOST% -nodecoration -lesspointer -fp tcp/%REMOTE_HOST%:7100 diff --git a/testsuite/files/xinit/startxwin b/testsuite/files/xinit/startxwin new file mode 100644 index 00000000..35757dbd --- /dev/null +++ b/testsuite/files/xinit/startxwin @@ -0,0 +1,226 @@ +#!/bin/sh + +# +# This is just a sample implementation of a slightly less primitive +# interface than xinit. It looks for user .xinitrc and .xserverrc +# files, then system xinitrc and xserverrc files, else lets xinit choose +# its default. The system xinitrc should probably do things like check +# for .Xresources files and merge them in, start up a window manager, +# and pop a clock and several xterms. +# +# Site administrators are STRONGLY urged to write nicer versions. +# + +unset DBUS_SESSION_BUS_ADDRESS +unset SESSION_MANAGER +userclientrc=$HOME/.startxwinrc +sysclientrc=/etc/X11/xinit/startxwinrc + +userserverrc=$HOME/.xserverrc +sysserverrc=/etc/X11/xinit/xserverrc +defaultclient=xterm +defaultserver=/usr/bin/XWin +defaultclientargs="" +defaultserverargs="" +defaultdisplay=":0" +clientargs="" +serverargs="" +vtarg="" +display="" +enable_xauth=1 + + +# Automatically determine an unused $DISPLAY +d=0 +while true ; do + [ -e "/tmp/.X$d-lock" -o -S "/tmp/.X11-unix/X$d" ] || break + kill -0 `cat /tmp/.X$d-lock` 2>/dev/null || break + d=$(($d + 1)) +done +defaultdisplay=":$d" +unset d + +whoseargs="client" +while [ x"$1" != x ]; do + case "$1" in + # '' required to prevent cpp from treating "/*" as a C comment. + /''*|\./''*) + if [ "$whoseargs" = "client" ]; then + if [ x"$client" = x ] && [ x"$clientargs" = x ]; then + client="$1" + else + clientargs="$clientargs $1" + fi + else + if [ x"$server" = x ] && [ x"$serverargs" = x ]; then + server="$1" + else + serverargs="$serverargs $1" + fi + fi + ;; + --) + whoseargs="server" + ;; + *) + if [ "$whoseargs" = "client" ]; then + clientargs="$clientargs $1" + else + # display must be the FIRST server argument + if [ x"$serverargs" = x ] && \ + expr "$1" : ':[0-9][0-9]*$' > /dev/null 2>&1; then + display="$1" + else + serverargs="$serverargs $1" + fi + fi + ;; + esac + shift +done + +# process client arguments +if [ x"$client" = x ]; then + client=$defaultclient + + # For compatibility reasons, only use startxwinrc if there were no client command line arguments + if [ x"$clientargs" = x ]; then + if [ -f "$userclientrc" ] && [ ! -x "$userclientrc" ]; then + echo "Skipping $userclientrc; present but not executable" + fi + if [ -x "$userclientrc" ]; then + client=$userclientrc + elif [ -f "$sysclientrc" ]; then + client=$sysclientrc + fi + fi +fi + +# if no client arguments, use defaults +if [ x"$clientargs" = x ]; then + clientargs=$defaultclientargs +fi + +# process server arguments +if [ x"$server" = x ]; then + server=$defaultserver + # For compatibility reasons, only use xserverrc if there were no server command line arguments + if [ x"$serverargs" = x -a x"$display" = x ]; then + if [ -f "$userserverrc" ]; then + server=$userserverrc + elif [ -f "$sysserverrc" ]; then + server=$sysserverrc + fi + fi +fi + +# if no server arguments, use defaults +if [ x"$serverargs" = x ]; then + serverargs=$defaultserverargs +fi +serverargs="-multiwindow $serverargs" + +# if no vt is specified add vtarg (which may be empty) +have_vtarg="no" +for i in $serverargs; do + if expr match "$i" '^vt[0-9]\+$' > /dev/null; then + have_vtarg="yes" + fi +done +if [ "$have_vtarg" = "no" ]; then + serverargs="$serverargs $vtarg" +fi + +# if no display, use default +if [ x"$display" = x ]; then + display=$defaultdisplay +fi + +if [ x"$enable_xauth" = x1 ] ; then + if [ x"$XAUTHORITY" = x ]; then + XAUTHORITY=$HOME/.Xauthority + export XAUTHORITY + fi + + removelist= + + # set up default Xauth info for this machine + case `uname` in + Linux*) + if [ -z "`hostname --version 2>&1 | grep GNU`" ]; then + hostname=`hostname -f` + else + hostname=`hostname` + fi + ;; + *) + hostname=`hostname` + ;; + esac + + authdisplay=${display:-:0} + + mcookie=`/usr/bin/mcookie` + + + + + + + + if test x"$mcookie" = x; then + echo "Couldn't create cookie" + exit 1 + fi + dummy=0 + + # create a file with auth information for the server. ':0' is a dummy. + xserverauthfile=$HOME/.serverauth.$$ + trap "rm -f '$xserverauthfile'" HUP INT QUIT ILL TRAP KILL BUS TERM + touch "$xserverauthfile" + xauth -q -f "$xserverauthfile" << EOF +add :$dummy . $mcookie +EOF + + xserverauthfilequoted=$(echo ${xserverauthfile} | sed "s/'/'\\\\''/g") + serverargs=${serverargs}" -auth '"${xserverauthfilequoted}"'" + + + + + # now add the same credentials to the client authority file + # if '$displayname' already exists do not overwrite it as another + # server man need it. Add them to the '$xserverauthfile' instead. + for displayname in $authdisplay $hostname$authdisplay; do + authcookie=`xauth list "$displayname" \ + | sed -n "s/.*$displayname[[:space:]*].*[[:space:]*]//p"` 2>/dev/null; + if [ "z${authcookie}" = "z" ] ; then + xauth -q << EOF +add $displayname . $mcookie +EOF + removelist="$displayname $removelist" + else + dummy=$(($dummy+1)); + xauth -q -f "$xserverauthfile" << EOF +add :$dummy . $authcookie +EOF + fi + done +fi + + +eval xinit \"$client\" $clientargs -- \"$server\" $display $serverargs + + + +retval=$? + +if [ x"$enable_xauth" = x1 ] ; then + if [ x"$removelist" != x ]; then + xauth remove $removelist + fi + if [ x"$xserverauthfile" != x ]; then + rm -f "$xserverauthfile" + fi +fi +exit $retval diff --git a/testsuite/files/xinit/startxwin.1 b/testsuite/files/xinit/startxwin.1 new file mode 100644 index 00000000..f51ef47a --- /dev/null +++ b/testsuite/files/xinit/startxwin.1 @@ -0,0 +1,213 @@ +.\" +.\" Copyright 1993, 1998 The Open Group +.\" +.\" Permission to use, copy, modify, distribute, and sell this software and its +.\" documentation for any purpose is hereby granted without fee, provided that +.\" the above copyright notice appear in all copies and that both that +.\" copyright notice and this permission notice appear in supporting +.\" documentation. +.\" +.\" The above copyright notice and this permission notice shall be included +.\" in all copies or substantial portions of the Software. +.\" +.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +.\" IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR +.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +.\" OTHER DEALINGS IN THE SOFTWARE. +.\" +.\" Except as contained in this notice, the name of The Open Group shall +.\" not be used in advertising or otherwise to promote the sale, use or +.\" other dealings in this Software without prior written authorization +.\" from The Open Group. +.\" +.\" +.TH STARTXWIN 1 "xinit 1.3.4" "X Version 11" +.SH NAME +startxwin \- initialize an X multiwindow session +.SH SYNOPSIS +.B startxwin +[ [ +.I client +] +.I options +\&\.\|.\|. ] [ +.B \-\^\- +[ +.I server +] [ +.I display +] [ +.I -listen +] +.I options +\&.\|.\|. ] +.SH DESCRIPTION +The \fBstartxwin\fP script is a front end to +.BR xinit (1) +that provides a +somewhat nicer user interface for running a single session of the X +Window System in multiwindow mode. It is often run with no arguments. +.PP +Arguments immediately following the +.I startxwin +command are used to start a client in the same manner as +.BR xinit (1). +The special argument +.RB '--' +marks the end of client arguments and the beginning of server options. +By default startxwin passes +.RB '-nolisten\ tcp' +to the server, the special server option +.RB '-listen' +can be used to stop startxwin from doing this. +It may be convenient to specify server options with startxwin to change on a +per-session basis the +default color depth, the server's notion of the number of dots-per-inch the +display device presents, or take advantage of a different server layout, as +permitted by the +.BR XWin (1) +server and specified in the +.BR XWinrc (5) +configuration. Some examples of specifying server arguments follow; consult +the manual page for your X server to determine which arguments are legal. +.RS +.PP +startxwin -- -depth 16 +.PP +startxwin -- -dpi 100 +.RE +.if ''' .ig +.PP +To determine the client to run, +.B startxwin +looks for the following files, in order: +.RS +.PP +.I $(HOME)/.startxwinrc +.PP +.I /etc/X11/xinit/startxwinrc +.RE +.PP +.. +.if !'x.'x.' .ig +.PP +To determine the client to run, +.B startxwin +first looks for a file called +.I .startxwinrc +in the user's home directory. If that is not found, it uses +the file +.I startxwinrc +in the +.I xinit +library directory. +.. +If command line client options are given, they override this +behavior and revert to the +.BR xinit (1) +behavior. +To determine the server to run, +.B startxwin +first looks for a file called +.I .xserverrc +in the user's home directory. If that is not found, it uses +the file +.I xserverrc +in the +.I xinit +library directory. +If command line server options are given, they override this +behavior and revert to the +.BR xinit (1) +behavior. Users rarely need to provide a +.I .xserverrc +file. +See the +.BR xinit (1) +manual page for more details on the arguments. +.PP +The system-wide +.I startxwinrc +and +.I xserverrc +files are found in the +.I /etc/X11/xinit +directory. +.PP +The +.I .startxwinrc +is typically a shell script which starts many clients according to the +user's preference. When this shell script exits, +.B startxwin +kills the server and performs any other session shutdown needed. +Most of the clients started by +.I .startxwinrc +should be run in the background. The last client should run in the +foreground; when it exits, the session will exit. People often choose +a session manager, window manager, or \fIxterm\fP as the ''magic'' client. +.SH EXAMPLE +.PP +Below is a sample \fI\.startxwinrc\fP that starts several applications and +leaves the panel running as the ''last'' application. Assuming that +the window manager has been configured properly, the user +then chooses the ''Exit'' menu item to shut down X. +.sp +.in +4 +.nf +xrdb \-load $HOME/.Xresources +xbiff \-geometry \-430+5 & +oclock \-geometry 75x75\-0\-0 & +xload \-geometry \-80\-0 & +xterm \-geometry +0+60 \-ls & +xterm \-geometry +0\-100 & +xconsole \-geometry \-0+0 \-fn 5x7 & +exec fbpanel -profile multiwindow +.fi +.in -4 +.SH "ENVIRONMENT VARIABLES" +.TP 25 +DISPLAY +This variable gets set to the name of the display to which clients should +connect. Note that this gets +.IR set , +not read. +.TP 25 +XAUTHORITY +This variable, if not already defined, gets set to +.IR $(HOME)/.Xauthority . +This is to prevent the X server, if not given the +.I \-auth +argument, from automatically setting up insecure host-based authentication +for the local host. See the +.BR Xserver (1) +and +.IR Xsecurity (7) +manual pages for more information on X client/server authentication. +.SH FILES +.TP 25 +.I $(HOME)/.startxwinrc +Client to run. Typically a shell script which runs many programs in +the background. +.TP 25 +.I $(HOME)/.xserverrc +Server to run. The default is +.IR X . +.TP 25 +.I /etc/X11/xinit/startxwinrc +Client to run if the user has no +.I .startxwinrc +file. +.TP 25 +.I /etc/X11/xinit/xserverrc +Server to run if the user has no +.I .xserverrc +file. +.SH "SEE ALSO" +.BR xinit (1), +.BR X (7), +.BR Xserver (1), +.BR XWin (1), +.BR XWinrc (5) diff --git a/testsuite/files/xinit/vars b/testsuite/files/xinit/vars new file mode 100644 index 00000000..075532a6 --- /dev/null +++ b/testsuite/files/xinit/vars @@ -0,0 +1,3 @@ +declare -r ARCHES="all" +declare -- CROSS_HOST="" +declare -- INHERITED="autotools " diff --git a/testsuite/files/xinit/xinit.cygport b/testsuite/files/xinit/xinit.cygport new file mode 100644 index 00000000..eb6e2616 --- /dev/null +++ b/testsuite/files/xinit/xinit.cygport @@ -0,0 +1,44 @@ +# A simplified version of xinit.cygport to excercize the CYGWIN_FILES feature + +NAME="xinit" +VERSION=1.4.2 +RELEASE=2 +CATEGORY="X11" +SUMMARY="X.Org X server launcher" +DESCRIPTION="This package contains programs used to start the X Window System +server and a first client program in environments that use multiple window +systems." +HOMEPAGE="https://www.x.org/" +LICENSE="MIT" + +SRC_DIR="." + +SRC_URI=" + startxdmcp.bat + startxwin + startxwin.1 +" + +CYGWIN_FILES=" + README + postinstall.sh + preremove.sh + profile.d.csh + profile.d.fish + profile.d.sh +" + +xinit_REQUIRES="adwaita-themes dbus-x11 run sed util-linux setxkbmap xauth xdg-user-dirs xmodmap xrdb xorg-server xterm xwin-xdg-menu" +# make sure we do not forget to add postinstall/preremove +xinit_CONTENTS="etc/postinstall/ etc/preremove/ etc/profile.d/ usr/" + +src_compile() { + : +} + +src_install() { + cd ${S} + dobin startxdmcp.bat startxwin + unix2dos ${D}/usr/bin/*.bat + doman startxwin.1 +} diff --git a/testsuite/files/xinit/xinit.list b/testsuite/files/xinit/xinit.list new file mode 100644 index 00000000..bbb50edd --- /dev/null +++ b/testsuite/files/xinit/xinit.list @@ -0,0 +1,9 @@ +/etc/postinstall/xinit.sh +/etc/preremove/xinit.sh +/etc/profile.d/xinit.csh +/etc/profile.d/xinit.fish +/etc/profile.d/xinit.sh +/usr/bin/startxdmcp.bat +/usr/bin/startxwin +/usr/share/doc/Cygwin/xinit.README +/usr/share/man/man1/startxwin.1.gz diff --git a/testsuite/font/install/vars b/testsuite/font/install/vars new file mode 100644 index 00000000..e53cf498 --- /dev/null +++ b/testsuite/font/install/vars @@ -0,0 +1,3 @@ +declare -r ARCHES="noarch" +declare -- CROSS_HOST="" +declare -- INHERITED="font autotools " diff --git a/testsuite/font/sfd2ttf/vars b/testsuite/font/sfd2ttf/vars new file mode 100644 index 00000000..e53cf498 --- /dev/null +++ b/testsuite/font/sfd2ttf/vars @@ -0,0 +1,3 @@ +declare -r ARCHES="noarch" +declare -- CROSS_HOST="" +declare -- INHERITED="font autotools " diff --git a/testsuite/hints/multiple/vars b/testsuite/hints/multiple/vars new file mode 100644 index 00000000..075532a6 --- /dev/null +++ b/testsuite/hints/multiple/vars @@ -0,0 +1,3 @@ +declare -r ARCHES="all" +declare -- CROSS_HOST="" +declare -- INHERITED="autotools " diff --git a/testsuite/hints/single/vars b/testsuite/hints/single/vars new file mode 100644 index 00000000..075532a6 --- /dev/null +++ b/testsuite/hints/single/vars @@ -0,0 +1,3 @@ +declare -r ARCHES="all" +declare -- CROSS_HOST="" +declare -- INHERITED="autotools " diff --git a/testsuite/httpd/apxs/vars b/testsuite/httpd/apxs/vars new file mode 100644 index 00000000..8fab1ce1 --- /dev/null +++ b/testsuite/httpd/apxs/vars @@ -0,0 +1,3 @@ +declare -r ARCHES="all" +declare -- CROSS_HOST="" +declare -- INHERITED="httpd autotools " diff --git a/testsuite/logic/arch_patch/arch_patch.cygport b/testsuite/logic/arch_patch/arch_patch.cygport new file mode 100644 index 00000000..20207f75 --- /dev/null +++ b/testsuite/logic/arch_patch/arch_patch.cygport @@ -0,0 +1,12 @@ +NAME=arch_patch +VERSION=1 +RELEASE=1 + +case ${ARCH} in + "i686") + PATCH_URI="fix-for-x86.patch" + ;; + "x86_64") + PATCH_URI="fix-for-x86_64.patch" + ;; +esac diff --git a/testsuite/logic/arch_src/arch_src.cygport b/testsuite/logic/arch_src/arch_src.cygport new file mode 100644 index 00000000..dd9e8ea7 --- /dev/null +++ b/testsuite/logic/arch_src/arch_src.cygport @@ -0,0 +1,12 @@ +NAME=arch_src +VERSION=1 +RELEASE=1 + +case ${ARCH} in + "i686") + SRC_URI="https://invalid.com/source-x86.tar.xz" + ;; + "x86_64") + SRC_URI="https://invalid.com/source-x86_64.tar.xz" + ;; +esac diff --git a/testsuite/logic/meson.build b/testsuite/logic/meson.build new file mode 100644 index 00000000..2876f378 --- /dev/null +++ b/testsuite/logic/meson.build @@ -0,0 +1,9 @@ +test('arch_src', cygport_inplace, + args: ['arch_src', 'info'], + workdir: meson.current_source_dir() / 'arch_src', + should_fail: true) + +test('arch_patch', cygport_inplace, + args: ['arch_patch', 'info'], + workdir: meson.current_source_dir() / 'arch_patch', + should_fail: true) diff --git a/testsuite/lua/all/vars b/testsuite/lua/all/vars new file mode 100644 index 00000000..1d49e0dc --- /dev/null +++ b/testsuite/lua/all/vars @@ -0,0 +1,4 @@ +declare -r ARCHES="all" +declare -- BUILD_REQUIRES=" lua liblua-devel" +declare -- CROSS_HOST="" +declare -- INHERITED="lua autotools " diff --git a/testsuite/meson.build b/testsuite/meson.build index cd43e41f..2b77594b 100644 --- a/testsuite/meson.build +++ b/testsuite/meson.build @@ -10,7 +10,7 @@ subdir('basic') test_driver = find_program('test-driver') # this is used in several subdirs cmake = find_program('cmake', required: false) -python2 = find_program('python2', required: false) +python3 = find_program('python3', required: false) tests = [] @@ -22,8 +22,10 @@ subdir('autotools') subdir('cmake') subdir('cross') subdir('docbook') +subdir('files') subdir('font') subdir('httpd') +subdir('logic') subdir('lua') subdir('meson') subdir('ocaml') @@ -43,3 +45,5 @@ test(t[0], test_driver, is_parallel: t.length() > 1 ? false : true, timeout: t.length() > 1 ? t[1] : 240) endforeach + +test('vars', find_program('vars'), env: testenv, timeout: 0) diff --git a/testsuite/meson/c/vars b/testsuite/meson/c/vars new file mode 100644 index 00000000..8c86aaef --- /dev/null +++ b/testsuite/meson/c/vars @@ -0,0 +1,3 @@ +declare -r ARCHES="all" +declare -- CROSS_HOST="" +declare -- INHERITED="git ninja meson autotools " diff --git a/testsuite/meson/gnome/vars b/testsuite/meson/gnome/vars new file mode 100644 index 00000000..cab57b42 --- /dev/null +++ b/testsuite/meson/gnome/vars @@ -0,0 +1,3 @@ +declare -r ARCHES="all" +declare -- CROSS_HOST="" +declare -- INHERITED="ninja meson gnome.org autotools " diff --git a/testsuite/ocaml/dune/vars b/testsuite/ocaml/dune/vars new file mode 100644 index 00000000..0202dfbc --- /dev/null +++ b/testsuite/ocaml/dune/vars @@ -0,0 +1,4 @@ +declare -r ARCHES="all" +declare -- BUILD_REQUIRES="ocaml ocaml-dune" +declare -- CROSS_HOST="" +declare -- INHERITED="ocaml ocaml-dune autotools " diff --git a/testsuite/ocaml/findlib/vars b/testsuite/ocaml/findlib/vars new file mode 100644 index 00000000..77bd9d58 --- /dev/null +++ b/testsuite/ocaml/findlib/vars @@ -0,0 +1,3 @@ +declare -r ARCHES="all" +declare -- CROSS_HOST="" +declare -- INHERITED="ocaml autotools " diff --git a/testsuite/perl/ExtUtils-MakeMaker/vars b/testsuite/perl/ExtUtils-MakeMaker/vars new file mode 100644 index 00000000..0aeaf68e --- /dev/null +++ b/testsuite/perl/ExtUtils-MakeMaker/vars @@ -0,0 +1,3 @@ +declare -r ARCHES="noarch" +declare -- CROSS_HOST="" +declare -- INHERITED="perl autotools " diff --git a/testsuite/perl/Module-Build/vars b/testsuite/perl/Module-Build/vars new file mode 100644 index 00000000..f11c5763 --- /dev/null +++ b/testsuite/perl/Module-Build/vars @@ -0,0 +1,3 @@ +declare -r ARCHES="all" +declare -- CROSS_HOST="" +declare -- INHERITED="perl autotools " diff --git a/testsuite/php/pear/vars b/testsuite/php/pear/vars new file mode 100644 index 00000000..27196692 --- /dev/null +++ b/testsuite/php/pear/vars @@ -0,0 +1,3 @@ +declare -r ARCHES="noarch" +declare -- CROSS_HOST="" +declare -- INHERITED="php autotools " diff --git a/testsuite/php/pecl/vars b/testsuite/php/pecl/vars new file mode 100644 index 00000000..629c24e6 --- /dev/null +++ b/testsuite/php/pecl/vars @@ -0,0 +1,3 @@ +declare -r ARCHES="all" +declare -- CROSS_HOST="" +declare -- INHERITED="php autotools " diff --git a/testsuite/python/distutils/hints/python-beautifulsoup-3.2.1-1.x86_64/dist/python-beautifulsoup/python-beautifulsoup-3.2.1-1-src.hint b/testsuite/python/distutils/hints/python3-beautifulsoup-4.11.1-1.x86_64/dist/python3-beautifulsoup/python3-beautifulsoup-4.11.1-1-src.hint similarity index 83% rename from testsuite/python/distutils/hints/python-beautifulsoup-3.2.1-1.x86_64/dist/python-beautifulsoup/python-beautifulsoup-3.2.1-1-src.hint rename to testsuite/python/distutils/hints/python3-beautifulsoup-4.11.1-1.x86_64/dist/python3-beautifulsoup/python3-beautifulsoup-4.11.1-1-src.hint index a78b5b82..5d3076c9 100644 --- a/testsuite/python/distutils/hints/python-beautifulsoup-3.2.1-1.x86_64/dist/python-beautifulsoup/python-beautifulsoup-3.2.1-1-src.hint +++ b/testsuite/python/distutils/hints/python3-beautifulsoup-4.11.1-1.x86_64/dist/python3-beautifulsoup/python3-beautifulsoup-4.11.1-1-src.hint @@ -6,4 +6,4 @@ turnaround projects like screen-scraping. Beautiful Soup parses anything you give it, and does the tree traversal stuff for you." skip: -homepage: http://www.crummy.com/software/BeautifulSoup/ +homepage: https://www.crummy.com/software/BeautifulSoup/ diff --git a/testsuite/python/distutils/hints/python-beautifulsoup-3.2.1-1.x86_64/dist/python-beautifulsoup/python2-beautifulsoup/python2-beautifulsoup-3.2.1-1.hint b/testsuite/python/distutils/hints/python3-beautifulsoup-4.11.1-1.x86_64/dist/python3-beautifulsoup/python3-beautifulsoup-4.11.1-1.hint similarity index 83% rename from testsuite/python/distutils/hints/python-beautifulsoup-3.2.1-1.x86_64/dist/python-beautifulsoup/python2-beautifulsoup/python2-beautifulsoup-3.2.1-1.hint rename to testsuite/python/distutils/hints/python3-beautifulsoup-4.11.1-1.x86_64/dist/python3-beautifulsoup/python3-beautifulsoup-4.11.1-1.hint index f3957d94..73e356b9 100644 --- a/testsuite/python/distutils/hints/python-beautifulsoup-3.2.1-1.x86_64/dist/python-beautifulsoup/python2-beautifulsoup/python2-beautifulsoup-3.2.1-1.hint +++ b/testsuite/python/distutils/hints/python3-beautifulsoup-4.11.1-1.x86_64/dist/python3-beautifulsoup/python3-beautifulsoup-4.11.1-1.hint @@ -1,9 +1,8 @@ category: Python -requires: python27 +requires: python38 sdesc: "Python HTML/XML parser" ldesc: "Beautiful Soup is a Python HTML/XML parser designed for quick turnaround projects like screen-scraping. Beautiful Soup parses anything you give it, and does the tree traversal stuff for you." obsoletes: python-beautifulsoup -external-source: python-beautifulsoup diff --git a/testsuite/python/distutils/python-beautifulsoup.cygport b/testsuite/python/distutils/python-beautifulsoup.cygport index 155d31a8..cf703cd3 100644 --- a/testsuite/python/distutils/python-beautifulsoup.cygport +++ b/testsuite/python/distutils/python-beautifulsoup.cygport @@ -1,19 +1,21 @@ -ORIG_PN="BeautifulSoup" +ORIG_PN="beautifulsoup4" inherit distutils -NAME="python-beautifulsoup" -VERSION=3.2.1 +NAME="python3-beautifulsoup" +VERSION=4.11.1 RELEASE=1 CATEGORY="Python" SUMMARY="Python HTML/XML parser" DESCRIPTION="Beautiful Soup is a Python HTML/XML parser designed for quick turnaround projects like screen-scraping. Beautiful Soup parses anything you give it, and does the tree traversal stuff for you." -HOMEPAGE="http://www.crummy.com/software/BeautifulSoup/" -SRC_URI="http://www.crummy.com/software/BeautifulSoup/download/3.x/${ORIG_PN}-${PV}.tar.gz" +HOMEPAGE="https://www.crummy.com/software/BeautifulSoup/" +SRC_URI="https://www.crummy.com/software/BeautifulSoup/bs4/download/${PV%.*}/${ORIG_PN}-${PV}.tar.gz" -PKG_NAMES="python2-beautifulsoup" -python2_beautifulsoup_OBSOLETES=${NAME} -python2_beautifulsoup_CONTENTS="*" +PKG_NAMES="python3-beautifulsoup" +python3_beautifulsoup_OBSOLETES="python-beautifulsoup" +python3_beautifulsoup_CONTENTS="*" DOCS="PKG-INFO" + +export SETUPTOOLS_USE_DISTUTILS=local diff --git a/testsuite/python/distutils/python-beautifulsoup.list b/testsuite/python/distutils/python-beautifulsoup.list index 978fb6da..b0922eb7 100644 --- a/testsuite/python/distutils/python-beautifulsoup.list +++ b/testsuite/python/distutils/python-beautifulsoup.list @@ -1,8 +1,106 @@ -/usr/lib/python2.7/site-packages/BeautifulSoup-3.2.1-py2.7.egg-info -/usr/lib/python2.7/site-packages/BeautifulSoup.py -/usr/lib/python2.7/site-packages/BeautifulSoup.pyc -/usr/lib/python2.7/site-packages/BeautifulSoup.pyo -/usr/lib/python2.7/site-packages/BeautifulSoupTests.py -/usr/lib/python2.7/site-packages/BeautifulSoupTests.pyc -/usr/lib/python2.7/site-packages/BeautifulSoupTests.pyo -/usr/share/doc/python-beautifulsoup/PKG-INFO +/usr/lib/python3.8/site-packages/beautifulsoup4-4.11.1-py3.8.egg-info/PKG-INFO +/usr/lib/python3.8/site-packages/beautifulsoup4-4.11.1-py3.8.egg-info/SOURCES.txt +/usr/lib/python3.8/site-packages/beautifulsoup4-4.11.1-py3.8.egg-info/dependency_links.txt +/usr/lib/python3.8/site-packages/beautifulsoup4-4.11.1-py3.8.egg-info/requires.txt +/usr/lib/python3.8/site-packages/beautifulsoup4-4.11.1-py3.8.egg-info/top_level.txt +/usr/lib/python3.8/site-packages/bs4/__init__.py +/usr/lib/python3.8/site-packages/bs4/__pycache__/__init__.cpython-38.opt-1.pyc +/usr/lib/python3.8/site-packages/bs4/__pycache__/__init__.cpython-38.opt-2.pyc +/usr/lib/python3.8/site-packages/bs4/__pycache__/__init__.cpython-38.pyc +/usr/lib/python3.8/site-packages/bs4/__pycache__/dammit.cpython-38.opt-1.pyc +/usr/lib/python3.8/site-packages/bs4/__pycache__/dammit.cpython-38.opt-2.pyc +/usr/lib/python3.8/site-packages/bs4/__pycache__/dammit.cpython-38.pyc +/usr/lib/python3.8/site-packages/bs4/__pycache__/diagnose.cpython-38.opt-1.pyc +/usr/lib/python3.8/site-packages/bs4/__pycache__/diagnose.cpython-38.opt-2.pyc +/usr/lib/python3.8/site-packages/bs4/__pycache__/diagnose.cpython-38.pyc +/usr/lib/python3.8/site-packages/bs4/__pycache__/element.cpython-38.opt-1.pyc +/usr/lib/python3.8/site-packages/bs4/__pycache__/element.cpython-38.opt-2.pyc +/usr/lib/python3.8/site-packages/bs4/__pycache__/element.cpython-38.pyc +/usr/lib/python3.8/site-packages/bs4/__pycache__/formatter.cpython-38.opt-1.pyc +/usr/lib/python3.8/site-packages/bs4/__pycache__/formatter.cpython-38.opt-2.pyc +/usr/lib/python3.8/site-packages/bs4/__pycache__/formatter.cpython-38.pyc +/usr/lib/python3.8/site-packages/bs4/builder/__init__.py +/usr/lib/python3.8/site-packages/bs4/builder/__pycache__/__init__.cpython-38.opt-1.pyc +/usr/lib/python3.8/site-packages/bs4/builder/__pycache__/__init__.cpython-38.opt-2.pyc +/usr/lib/python3.8/site-packages/bs4/builder/__pycache__/__init__.cpython-38.pyc +/usr/lib/python3.8/site-packages/bs4/builder/__pycache__/_html5lib.cpython-38.opt-1.pyc +/usr/lib/python3.8/site-packages/bs4/builder/__pycache__/_html5lib.cpython-38.opt-2.pyc +/usr/lib/python3.8/site-packages/bs4/builder/__pycache__/_html5lib.cpython-38.pyc +/usr/lib/python3.8/site-packages/bs4/builder/__pycache__/_htmlparser.cpython-38.opt-1.pyc +/usr/lib/python3.8/site-packages/bs4/builder/__pycache__/_htmlparser.cpython-38.opt-2.pyc +/usr/lib/python3.8/site-packages/bs4/builder/__pycache__/_htmlparser.cpython-38.pyc +/usr/lib/python3.8/site-packages/bs4/builder/__pycache__/_lxml.cpython-38.opt-1.pyc +/usr/lib/python3.8/site-packages/bs4/builder/__pycache__/_lxml.cpython-38.opt-2.pyc +/usr/lib/python3.8/site-packages/bs4/builder/__pycache__/_lxml.cpython-38.pyc +/usr/lib/python3.8/site-packages/bs4/builder/_html5lib.py +/usr/lib/python3.8/site-packages/bs4/builder/_htmlparser.py +/usr/lib/python3.8/site-packages/bs4/builder/_lxml.py +/usr/lib/python3.8/site-packages/bs4/dammit.py +/usr/lib/python3.8/site-packages/bs4/diagnose.py +/usr/lib/python3.8/site-packages/bs4/element.py +/usr/lib/python3.8/site-packages/bs4/formatter.py +/usr/lib/python3.8/site-packages/bs4/tests/__init__.py +/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/__init__.cpython-38.opt-1.pyc +/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/__init__.cpython-38.opt-2.pyc +/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/__init__.cpython-38.pyc +/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_builder.cpython-38.opt-1.pyc +/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_builder.cpython-38.opt-2.pyc +/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_builder.cpython-38.pyc +/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_builder_registry.cpython-38.opt-1.pyc +/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_builder_registry.cpython-38.opt-2.pyc +/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_builder_registry.cpython-38.pyc +/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_dammit.cpython-38.opt-1.pyc +/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_dammit.cpython-38.opt-2.pyc +/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_dammit.cpython-38.pyc +/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_docs.cpython-38.opt-1.pyc +/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_docs.cpython-38.opt-2.pyc +/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_docs.cpython-38.pyc +/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_element.cpython-38.opt-1.pyc +/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_element.cpython-38.opt-2.pyc +/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_element.cpython-38.pyc +/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_formatter.cpython-38.opt-1.pyc +/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_formatter.cpython-38.opt-2.pyc +/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_formatter.cpython-38.pyc +/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_html5lib.cpython-38.opt-1.pyc +/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_html5lib.cpython-38.opt-2.pyc +/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_html5lib.cpython-38.pyc +/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_htmlparser.cpython-38.opt-1.pyc +/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_htmlparser.cpython-38.opt-2.pyc +/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_htmlparser.cpython-38.pyc +/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_lxml.cpython-38.opt-1.pyc +/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_lxml.cpython-38.opt-2.pyc +/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_lxml.cpython-38.pyc +/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_navigablestring.cpython-38.opt-1.pyc +/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_navigablestring.cpython-38.opt-2.pyc +/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_navigablestring.cpython-38.pyc +/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_pageelement.cpython-38.opt-1.pyc +/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_pageelement.cpython-38.opt-2.pyc +/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_pageelement.cpython-38.pyc +/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_soup.cpython-38.opt-1.pyc +/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_soup.cpython-38.opt-2.pyc +/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_soup.cpython-38.pyc +/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_tag.cpython-38.opt-1.pyc +/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_tag.cpython-38.opt-2.pyc +/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_tag.cpython-38.pyc +/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_tree.cpython-38.opt-1.pyc +/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_tree.cpython-38.opt-2.pyc +/usr/lib/python3.8/site-packages/bs4/tests/__pycache__/test_tree.cpython-38.pyc +/usr/lib/python3.8/site-packages/bs4/tests/test_builder.py +/usr/lib/python3.8/site-packages/bs4/tests/test_builder_registry.py +/usr/lib/python3.8/site-packages/bs4/tests/test_dammit.py +/usr/lib/python3.8/site-packages/bs4/tests/test_docs.py +/usr/lib/python3.8/site-packages/bs4/tests/test_element.py +/usr/lib/python3.8/site-packages/bs4/tests/test_formatter.py +/usr/lib/python3.8/site-packages/bs4/tests/test_html5lib.py +/usr/lib/python3.8/site-packages/bs4/tests/test_htmlparser.py +/usr/lib/python3.8/site-packages/bs4/tests/test_lxml.py +/usr/lib/python3.8/site-packages/bs4/tests/test_navigablestring.py +/usr/lib/python3.8/site-packages/bs4/tests/test_pageelement.py +/usr/lib/python3.8/site-packages/bs4/tests/test_soup.py +/usr/lib/python3.8/site-packages/bs4/tests/test_tag.py +/usr/lib/python3.8/site-packages/bs4/tests/test_tree.py +/usr/share/doc/python3-beautifulsoup/COPYING.txt +/usr/share/doc/python3-beautifulsoup/LICENSE +/usr/share/doc/python3-beautifulsoup/NEWS.txt +/usr/share/doc/python3-beautifulsoup/PKG-INFO +/usr/share/doc/python3-beautifulsoup/README.md diff --git a/testsuite/python/distutils/vars b/testsuite/python/distutils/vars new file mode 100644 index 00000000..f8f28394 --- /dev/null +++ b/testsuite/python/distutils/vars @@ -0,0 +1,3 @@ +declare -r ARCHES="all" +declare -- CROSS_HOST="" +declare -- INHERITED="python3 python.org python3-distutils distutils autotools " diff --git a/testsuite/python/meson.build b/testsuite/python/meson.build index 94a48a80..b30347f4 100644 --- a/testsuite/python/meson.build +++ b/testsuite/python/meson.build @@ -1,16 +1,10 @@ -pip27 = find_program('pip2.7', required: false) pip37 = find_program('pip3.7', required: false) pip38 = find_program('pip3.8', required: false) -pygtk2 = find_program('pygtk-codegen-2.0', required: false) -if python2.found() +if python3.found() tests += [['python/distutils']] endif -if pygtk2.found() -tests += [['python/pygtk', 480]] -endif - -if pip27.found() and pip37.found() and pip38.found() +if pip37.found() and pip38.found() tests += [['python/wheel']] endif diff --git a/testsuite/python/pygtk/hints/python-pynotify-0.1.1-5.x86_64/dist/python-pynotify/python-pynotify-0.1.1-5-src.hint b/testsuite/python/pygtk/hints/python-pynotify-0.1.1-5.x86_64/dist/python-pynotify/python-pynotify-0.1.1-5-src.hint deleted file mode 100644 index 3042aae9..00000000 --- a/testsuite/python/pygtk/hints/python-pynotify-0.1.1-5.x86_64/dist/python-pynotify/python-pynotify-0.1.1-5-src.hint +++ /dev/null @@ -1,7 +0,0 @@ -category: Python -build-depends: cygport -sdesc: "Python libnotify bindings" -ldesc: "Python bindings for libnotify (desktop notification library)" -skip: - -homepage: http://www.galago-project.org/ diff --git a/testsuite/python/pygtk/hints/python-pynotify-0.1.1-5.x86_64/dist/python-pynotify/python-pynotify-0.1.1-5.hint b/testsuite/python/pygtk/hints/python-pynotify-0.1.1-5.x86_64/dist/python-pynotify/python-pynotify-0.1.1-5.hint deleted file mode 100644 index 7606a78b..00000000 --- a/testsuite/python/pygtk/hints/python-pynotify-0.1.1-5.x86_64/dist/python-pynotify/python-pynotify-0.1.1-5.hint +++ /dev/null @@ -1,5 +0,0 @@ -category: Python -requires: cygwin libgdk_pixbuf2.0_0 libglib2.0_0 libnotify4 pkg-config python27 python-gobject python-gtk2.0 -sdesc: "Python libnotify bindings" -ldesc: "Python bindings for libnotify (desktop notification library)" - diff --git a/testsuite/python/pygtk/notify-python-0.1.1-libnotify-0.7.patch b/testsuite/python/pygtk/notify-python-0.1.1-libnotify-0.7.patch deleted file mode 100644 index ee146cb6..00000000 --- a/testsuite/python/pygtk/notify-python-0.1.1-libnotify-0.7.patch +++ /dev/null @@ -1,37 +0,0 @@ -http://pkgs.fedoraproject.org/gitweb/?p=notify-python.git;a=blob_plain;f=libnotify07.patch;hb=HEAD - ---- src/pynotify.defs -+++ src/pynotify.defs -@@ -38,7 +38,6 @@ - '("const-gchar*" "summary") - '("const-gchar*" "message" (null-ok) (default "NULL")) - '("const-gchar*" "icon" (null-ok) (default "NULL")) -- '("GtkWidget*" "attach" (null-ok) (default "NULL")) - ) - ) - -@@ -53,24 +52,6 @@ - ) - ) - --(define-method attach_to_widget -- (of-object "NotifyNotification") -- (c-name "notify_notification_attach_to_widget") -- (return-type "none") -- (parameters -- '("GtkWidget*" "attach") -- ) --) -- --(define-method attach_to_status_icon -- (of-object "NotifyNotification") -- (c-name "notify_notification_attach_to_status_icon") -- (return-type "none") -- (parameters -- '("GtkStatusIcon*" "attach") -- ) --) -- - (define-method show - (of-object "NotifyNotification") - (c-name "notify_notification_show") diff --git a/testsuite/python/pygtk/python-pynotify.cygport b/testsuite/python/pygtk/python-pynotify.cygport deleted file mode 100644 index 70570dcd..00000000 --- a/testsuite/python/pygtk/python-pynotify.cygport +++ /dev/null @@ -1,18 +0,0 @@ -ORIG_PN="notify-python" -inherit pygtk - -NAME="python-pynotify" -VERSION=0.1.1 -RELEASE=5 -CATEGORY="Python" -SUMMARY="Python libnotify bindings" -DESCRIPTION="Python bindings for libnotify (desktop notification library)" -HOMEPAGE="http://www.galago-project.org/" -SRC_URI="http://www.galago-project.org/files/releases/source/${ORIG_PN}/${ORIG_PN}-${PV}.tar.bz2" -PATCH_URI="mirror://portage/dev-python/${ORIG_PN}/files/${ORIG_PN}-${PV}-libnotify-0.7.patch" - -DISTCLEANFILES="src/pynotify.c" - -REQUIRES="python-gobject python-gtk2.0" - -CFLAGS+=" -fcommon" diff --git a/testsuite/python/pygtk/python-pynotify.list b/testsuite/python/pygtk/python-pynotify.list deleted file mode 100644 index 7c8f460a..00000000 --- a/testsuite/python/pygtk/python-pynotify.list +++ /dev/null @@ -1,10 +0,0 @@ -/usr/lib/pkgconfig/notify-python.pc -/usr/lib/python2.7/site-packages/gtk-2.0/pynotify/__init__.py -/usr/lib/python2.7/site-packages/gtk-2.0/pynotify/__init__.pyc -/usr/lib/python2.7/site-packages/gtk-2.0/pynotify/__init__.pyo -/usr/lib/python2.7/site-packages/gtk-2.0/pynotify/_pynotify.dll -/usr/share/doc/python-pynotify/AUTHORS -/usr/share/doc/python-pynotify/COPYING -/usr/share/doc/python-pynotify/ChangeLog -/usr/share/doc/python-pynotify/NEWS -/usr/share/pygtk/2.0/defs/pynotify.defs diff --git a/testsuite/python/wheel/hints/python-six-1.10.0-1.noarch/dist/python-six/python-six-wheel/python-six-wheel-1.10.0-1.hint b/testsuite/python/wheel/hints/python-six-1.10.0-1.noarch/dist/python-six/python-six-wheel/python-six-wheel-1.10.0-1.hint index a4534524..d5c2080c 100644 --- a/testsuite/python/wheel/hints/python-six-1.10.0-1.noarch/dist/python-six/python-six-wheel/python-six-wheel-1.10.0-1.hint +++ b/testsuite/python/wheel/hints/python-six-1.10.0-1.noarch/dist/python-six/python-six-wheel/python-six-wheel-1.10.0-1.hint @@ -1,5 +1,5 @@ category: Python -requires: +requires: sdesc: "Python 2 and 3 compatibility library" ldesc: "Six is a Python 2 and 3 compatibility library. It provides utility functions for smoothing over the differences between the Python diff --git a/testsuite/python/wheel/hints/python-six-1.10.0-1.noarch/dist/python-six/python27-six/python27-six-1.10.0-1.hint b/testsuite/python/wheel/hints/python-six-1.10.0-1.noarch/dist/python-six/python27-six/python27-six-1.10.0-1.hint deleted file mode 100644 index 5ed1a3aa..00000000 --- a/testsuite/python/wheel/hints/python-six-1.10.0-1.noarch/dist/python-six/python27-six/python27-six-1.10.0-1.hint +++ /dev/null @@ -1,10 +0,0 @@ -category: Python -requires: python27 -sdesc: "Python 2 and 3 compatibility library" -ldesc: "Six is a Python 2 and 3 compatibility library. It provides -utility functions for smoothing over the differences between the Python -versions with the goal of writing Python code that is compatible on both -Python versions." -obsoletes: python-six python2-six -external-source: python-six - diff --git a/testsuite/python/wheel/hints/python-six-1.10.0-1.noarch/dist/python-six/python37-six/python37-six-1.10.0-1.hint b/testsuite/python/wheel/hints/python-six-1.10.0-1.noarch/dist/python-six/python37-six/python37-six-1.10.0-1.hint index c2dc0665..84e95786 100644 --- a/testsuite/python/wheel/hints/python-six-1.10.0-1.noarch/dist/python-six/python37-six/python37-six-1.10.0-1.hint +++ b/testsuite/python/wheel/hints/python-six-1.10.0-1.noarch/dist/python-six/python37-six/python37-six-1.10.0-1.hint @@ -1,5 +1,5 @@ category: Python -requires: python37 +requires: python37 sdesc: "Python 2 and 3 compatibility library" ldesc: "Six is a Python 2 and 3 compatibility library. It provides utility functions for smoothing over the differences between the Python diff --git a/testsuite/python/wheel/hints/python-six-1.10.0-1.noarch/dist/python-six/python38-six/python38-six-1.10.0-1.hint b/testsuite/python/wheel/hints/python-six-1.10.0-1.noarch/dist/python-six/python38-six/python38-six-1.10.0-1.hint index e0004136..169c9b91 100644 --- a/testsuite/python/wheel/hints/python-six-1.10.0-1.noarch/dist/python-six/python38-six/python38-six-1.10.0-1.hint +++ b/testsuite/python/wheel/hints/python-six-1.10.0-1.noarch/dist/python-six/python38-six/python38-six-1.10.0-1.hint @@ -1,5 +1,5 @@ category: Python -requires: python38 +requires: python38 sdesc: "Python 2 and 3 compatibility library" ldesc: "Six is a Python 2 and 3 compatibility library. It provides utility functions for smoothing over the differences between the Python diff --git a/testsuite/python/wheel/python-six.cygport b/testsuite/python/wheel/python-six.cygport index 34a6489c..6a04f8bc 100644 --- a/testsuite/python/wheel/python-six.cygport +++ b/testsuite/python/wheel/python-six.cygport @@ -1,4 +1,4 @@ -PYTHON_WHEEL_VERSIONS="2.7:3.7:3.8" +PYTHON_WHEEL_VERSIONS="3.7:3.8" inherit python-wheel NAME="python-six" diff --git a/testsuite/python/wheel/python-six.list b/testsuite/python/wheel/python-six.list index 30c417c0..ebb9ed5a 100644 --- a/testsuite/python/wheel/python-six.list +++ b/testsuite/python/wheel/python-six.list @@ -1,14 +1,3 @@ -/usr/lib/python2.7/site-packages/six-1.10.0.dist-info/INSTALLER -/usr/lib/python2.7/site-packages/six-1.10.0.dist-info/LICENSE -/usr/lib/python2.7/site-packages/six-1.10.0.dist-info/METADATA -/usr/lib/python2.7/site-packages/six-1.10.0.dist-info/RECORD -/usr/lib/python2.7/site-packages/six-1.10.0.dist-info/REQUESTED -/usr/lib/python2.7/site-packages/six-1.10.0.dist-info/WHEEL -/usr/lib/python2.7/site-packages/six-1.10.0.dist-info/direct_url.json -/usr/lib/python2.7/site-packages/six-1.10.0.dist-info/top_level.txt -/usr/lib/python2.7/site-packages/six.py -/usr/lib/python2.7/site-packages/six.pyc -/usr/lib/python2.7/site-packages/six.pyo /usr/lib/python3.7/site-packages/__pycache__/six.cpython-37.opt-1.pyc /usr/lib/python3.7/site-packages/__pycache__/six.cpython-37.opt-2.pyc /usr/lib/python3.7/site-packages/__pycache__/six.cpython-37.pyc @@ -36,9 +25,6 @@ /usr/share/doc/python-six-wheel/CHANGES /usr/share/doc/python-six-wheel/LICENSE /usr/share/doc/python-six-wheel/README -/usr/share/doc/python27-six/CHANGES -/usr/share/doc/python27-six/LICENSE -/usr/share/doc/python27-six/README /usr/share/doc/python37-six/CHANGES /usr/share/doc/python37-six/LICENSE /usr/share/doc/python37-six/README diff --git a/testsuite/python/wheel/vars b/testsuite/python/wheel/vars new file mode 100644 index 00000000..de82fe0a --- /dev/null +++ b/testsuite/python/wheel/vars @@ -0,0 +1,3 @@ +declare -r ARCHES="noarch" +declare -- CROSS_HOST="" +declare -- INHERITED="python.org python-wheel autotools " diff --git a/testsuite/qmake/qt3/vars b/testsuite/qmake/qt3/vars new file mode 100644 index 00000000..2f563e7b --- /dev/null +++ b/testsuite/qmake/qt3/vars @@ -0,0 +1,3 @@ +declare -r ARCHES="all" +declare -- CROSS_HOST="" +declare -- INHERITED="qt3 qt3-qmake autotools " diff --git a/testsuite/qmake/qt4/vars b/testsuite/qmake/qt4/vars new file mode 100644 index 00000000..9fdd9fe3 --- /dev/null +++ b/testsuite/qmake/qt4/vars @@ -0,0 +1,3 @@ +declare -r ARCHES="all" +declare -- CROSS_HOST="" +declare -- INHERITED="qt4 qt4-qmake autotools " diff --git a/testsuite/qmake/qt5/vars b/testsuite/qmake/qt5/vars new file mode 100644 index 00000000..4944800e --- /dev/null +++ b/testsuite/qmake/qt5/vars @@ -0,0 +1,3 @@ +declare -r ARCHES="all" +declare -- CROSS_HOST="" +declare -- INHERITED="qt5 qt5-qmake autotools " diff --git a/testsuite/ruby/gem/vars b/testsuite/ruby/gem/vars new file mode 100644 index 00000000..af2660b4 --- /dev/null +++ b/testsuite/ruby/gem/vars @@ -0,0 +1,3 @@ +declare -r ARCHES="noarch" +declare -- CROSS_HOST="" +declare -- INHERITED="ruby rubygem autotools " diff --git a/testsuite/texlive/collection/vars b/testsuite/texlive/collection/vars new file mode 100644 index 00000000..2bb359ad --- /dev/null +++ b/testsuite/texlive/collection/vars @@ -0,0 +1,3 @@ +declare -r ARCHES="noarch" +declare -- CROSS_HOST="" +declare -- INHERITED="texlive autotools " diff --git a/testsuite/vars b/testsuite/vars new file mode 100755 index 00000000..344ba560 --- /dev/null +++ b/testsuite/vars @@ -0,0 +1,35 @@ +#!/bin/bash +set -e + +cd ${top_srcdir}/testsuite/ +for c in $(find . -name \*.cygport -not -path './logic/*') +do + test=$(dirname ${c}) + cygport=$(basename ${c}) + + test -d ${top_builddir}/testsuite/$test || mkdir -p ${top_builddir}/testsuite/$test + cd ${top_builddir}/testsuite/$test + cp -f ${top_srcdir}/testsuite/$test/$cygport $cygport + + ${top_builddir}/bin/cygport-inplace $cygport vars ARCHES BUILD_REQUIRES CROSS_HOST INHERITED >vars + + # compare results + if [ -a ${top_srcdir}/testsuite/$test/vars ]; + then + diff -u ${top_srcdir}/testsuite/$test/vars vars || test_failed=1 + else + # if CREATE_VARS is set, create the expected vars file for use in future testing + if [ -z ${CREATE_VARS+x} ] + then + echo "can't verify vars as expected vars ${top_srcdir}/testsuite/$test/vars not found." >&2 + test_failed=1 + else + cp vars ${top_srcdir}/testsuite/$test/vars + fi + fi +done + +if [ -n "$test_failed" ] +then + exit 1 +fi diff --git a/testsuite/waf/all/1.12.0-cygwin-shlib.patch b/testsuite/waf/all/1.12.0-cygwin-shlib.patch deleted file mode 100644 index 19aac8b1..00000000 --- a/testsuite/waf/all/1.12.0-cygwin-shlib.patch +++ /dev/null @@ -1,66 +0,0 @@ ---- origsrc/lv2-1.12.0/plugins/eg-amp.lv2/wscript 2015-03-02 09:31:54.000000000 -0600 -+++ src/lv2-1.12.0/plugins/eg-amp.lv2/wscript 2015-11-26 02:01:55.756934600 -0600 -@@ -32,7 +32,7 @@ def build(bld): - bundle = 'eg-amp.lv2' - - # Make a pattern for shared objects without the 'lib' prefix -- module_pat = re.sub('^lib', '', bld.env.cshlib_PATTERN) -+ module_pat = re.sub('^(lib|cyg)', '', bld.env.cshlib_PATTERN) - module_ext = module_pat[module_pat.rfind('.'):] - - # Build manifest.ttl by substitution (for portable lib extension) ---- origsrc/lv2-1.12.0/plugins/eg-fifths.lv2/wscript 2015-03-02 09:31:54.000000000 -0600 -+++ src/lv2-1.12.0/plugins/eg-fifths.lv2/wscript 2015-11-26 02:02:34.348335100 -0600 -@@ -30,7 +30,7 @@ def build(bld): - bundle = 'eg-fifths.lv2' - - # Make a pattern for shared objects without the 'lib' prefix -- module_pat = re.sub('^lib', '', bld.env.cshlib_PATTERN) -+ module_pat = re.sub('^(lib|cyg)', '', bld.env.cshlib_PATTERN) - module_ext = module_pat[module_pat.rfind('.'):] - - # Build manifest.ttl by substitution (for portable lib extension) ---- origsrc/lv2-1.12.0/plugins/eg-metro.lv2/wscript 2015-03-02 09:31:54.000000000 -0600 -+++ src/lv2-1.12.0/plugins/eg-metro.lv2/wscript 2015-11-26 02:01:55.765435700 -0600 -@@ -32,7 +32,7 @@ def build(bld): - bundle = 'eg-metro.lv2' - - # Make a pattern for shared objects without the 'lib' prefix -- module_pat = re.sub('^lib', '', bld.env.cshlib_PATTERN) -+ module_pat = re.sub('^(lib|cyg)', '', bld.env.cshlib_PATTERN) - module_ext = module_pat[module_pat.rfind('.'):] - - # Build manifest.ttl by substitution (for portable lib extension) ---- origsrc/lv2-1.12.0/plugins/eg-midigate.lv2/wscript 2015-03-02 09:31:54.000000000 -0600 -+++ src/lv2-1.12.0/plugins/eg-midigate.lv2/wscript 2015-11-26 02:01:55.761435200 -0600 -@@ -30,7 +30,7 @@ def build(bld): - bundle = 'eg-midigate.lv2' - - # Make a pattern for shared objects without the 'lib' prefix -- module_pat = re.sub('^lib', '', bld.env.cshlib_PATTERN) -+ module_pat = re.sub('^(lib|cyg)', '', bld.env.cshlib_PATTERN) - module_ext = module_pat[module_pat.rfind('.'):] - - # Build manifest.ttl by substitution (for portable lib extension) ---- origsrc/lv2-1.12.0/plugins/eg-sampler.lv2/wscript 2015-03-02 09:31:54.000000000 -0600 -+++ src/lv2-1.12.0/plugins/eg-sampler.lv2/wscript 2015-11-26 02:01:55.770936400 -0600 -@@ -36,7 +36,7 @@ def build(bld): - bundle = 'eg-sampler.lv2' - - # Make a pattern for shared objects without the 'lib' prefix -- module_pat = re.sub('^lib', '', bld.env.cshlib_PATTERN) -+ module_pat = re.sub('^(lib|cyg)', '', bld.env.cshlib_PATTERN) - module_ext = module_pat[module_pat.rfind('.'):] - - # Build manifest.ttl by substitution (for portable lib extension) ---- origsrc/lv2-1.12.0/plugins/eg-scope.lv2/wscript 2015-03-02 09:31:54.000000000 -0600 -+++ src/lv2-1.12.0/plugins/eg-scope.lv2/wscript 2015-11-26 02:02:42.472866800 -0600 -@@ -35,7 +35,7 @@ def build(bld): - bundle = 'eg-scope.lv2' - - # Make a pattern for shared objects without the 'lib' prefix -- module_pat = re.sub('^lib', '', bld.env.cshlib_PATTERN) -+ module_pat = re.sub('^(lib|cyg)', '', bld.env.cshlib_PATTERN) - module_ext = module_pat[module_pat.rfind('.'):] - - # Build manifest.ttl by substitution (for portable lib extension) diff --git a/testsuite/waf/all/hints/lv2-1.12.0-1.x86_64/dist/lv2/lv2-1.12.0-1-src.hint b/testsuite/waf/all/hints/lv2-1.18.4-1.x86_64/dist/lv2/lv2-1.18.4-1-src.hint similarity index 100% rename from testsuite/waf/all/hints/lv2-1.12.0-1.x86_64/dist/lv2/lv2-1.12.0-1-src.hint rename to testsuite/waf/all/hints/lv2-1.18.4-1.x86_64/dist/lv2/lv2-1.18.4-1-src.hint diff --git a/testsuite/waf/all/hints/lv2-1.12.0-1.x86_64/dist/lv2/lv2-1.12.0-1.hint b/testsuite/waf/all/hints/lv2-1.18.4-1.x86_64/dist/lv2/lv2-1.18.4-1.hint similarity index 100% rename from testsuite/waf/all/hints/lv2-1.12.0-1.x86_64/dist/lv2/lv2-1.12.0-1.hint rename to testsuite/waf/all/hints/lv2-1.18.4-1.x86_64/dist/lv2/lv2-1.18.4-1.hint diff --git a/testsuite/waf/all/hints/lv2-1.12.0-1.x86_64/dist/lv2/lv2-devel/lv2-devel-1.12.0-1.hint b/testsuite/waf/all/hints/lv2-1.18.4-1.x86_64/dist/lv2/lv2-devel/lv2-devel-1.18.4-1.hint similarity index 93% rename from testsuite/waf/all/hints/lv2-1.12.0-1.x86_64/dist/lv2/lv2-devel/lv2-devel-1.12.0-1.hint rename to testsuite/waf/all/hints/lv2-1.18.4-1.x86_64/dist/lv2/lv2-devel/lv2-devel-1.18.4-1.hint index 0e21dae3..ebd2efab 100644 --- a/testsuite/waf/all/hints/lv2-1.12.0-1.x86_64/dist/lv2/lv2-devel/lv2-devel-1.12.0-1.hint +++ b/testsuite/waf/all/hints/lv2-1.18.4-1.x86_64/dist/lv2/lv2-devel/lv2-devel-1.18.4-1.hint @@ -1,5 +1,5 @@ category: Audio -requires: pkg-config python3 lv2 +requires: bash pkg-config python3 lv2 sdesc: "LV2 audio plugin specification" ldesc: "LV2 is a portable plugin standard for audio systems, similar in scope to LADSPA, VST, AU, and others. It defines a C API for code and a format diff --git a/testsuite/waf/all/lv2.cygport b/testsuite/waf/all/lv2.cygport index 36d86f90..4ceab9ec 100644 --- a/testsuite/waf/all/lv2.cygport +++ b/testsuite/waf/all/lv2.cygport @@ -1,7 +1,7 @@ inherit waf NAME="lv2" -VERSION=1.12.0 +VERSION=1.18.4 RELEASE=1 CATEGORY="Audio" SUMMARY="LV2 audio plugin specification" @@ -13,17 +13,16 @@ more advanced functionality. This allows the interface to be grown to accommodate the needs of real software as they arise." HOMEPAGE="http://lv2plug.in/" SRC_URI="http://lv2plug.in/spec/lv2-${VERSION}.tar.bz2" -PATCH_URI="1.12.0-cygwin-shlib.patch waf-python2.patch" PKG_NAMES="lv2 lv2-devel" lv2_OBSOLETES="lv2core" lv2_DOCS="COPYING NEWS README.md" lv2_CONTENTS="--exclude=eg-*.lv2 --exclude=*.[ch] etc/ usr/lib/lv2/" lv2_devel_REQUIRES="lv2" -lv2_devel_CONTENTS="usr/bin/lv2specgen.py usr/include/lv2* usr/lib/lv2/*/*.[ch] - usr/lib/pkgconfig/ usr/share/lv2specgen/" +lv2_devel_CONTENTS="usr/bin/lv2specgen.py usr/bin/lv2_validate usr/include/lv2* + usr/lib/lv2/*/*.[ch] usr/lib/pkgconfig/ usr/share/lv2specgen/" -WAF_CONFIGURE_FLAGS="--no-plugins" +WAF_CONFIGURE_FLAGS="--no-plugins --lv2dir=/usr/lib/lv2" src_install() { cd ${B} diff --git a/testsuite/waf/all/lv2.list b/testsuite/waf/all/lv2.list index 841d7ab9..1555bd04 100644 --- a/testsuite/waf/all/lv2.list +++ b/testsuite/waf/all/lv2.list @@ -1,8 +1,17 @@ /etc/profile.d/lv2.csh /etc/profile.d/lv2.fish /etc/profile.d/lv2.sh +/usr/bin/lv2_validate /usr/bin/lv2specgen.py /usr/include/lv2.h +/usr/include/lv2/atom +/usr/include/lv2/buf-size +/usr/include/lv2/core +/usr/include/lv2/data-access +/usr/include/lv2/dynmanifest +/usr/include/lv2/event +/usr/include/lv2/instance-access +/usr/include/lv2/log /usr/include/lv2/lv2plug.in/ns/ext/atom /usr/include/lv2/lv2plug.in/ns/ext/buf-size /usr/include/lv2/lv2plug.in/ns/ext/data-access @@ -27,78 +36,100 @@ /usr/include/lv2/lv2plug.in/ns/extensions/ui /usr/include/lv2/lv2plug.in/ns/extensions/units /usr/include/lv2/lv2plug.in/ns/lv2core +/usr/include/lv2/midi +/usr/include/lv2/morph +/usr/include/lv2/options +/usr/include/lv2/parameters +/usr/include/lv2/patch +/usr/include/lv2/port-groups +/usr/include/lv2/port-props +/usr/include/lv2/presets +/usr/include/lv2/resize-port +/usr/include/lv2/state +/usr/include/lv2/time +/usr/include/lv2/ui +/usr/include/lv2/units +/usr/include/lv2/uri-map +/usr/include/lv2/urid +/usr/include/lv2/worker +/usr/lib/lv2/atom.lv2/atom-test-utils.c /usr/lib/lv2/atom.lv2/atom-test.c /usr/lib/lv2/atom.lv2/atom.h +/usr/lib/lv2/atom.lv2/atom.meta.ttl /usr/lib/lv2/atom.lv2/atom.ttl +/usr/lib/lv2/atom.lv2/forge-overflow-test.c /usr/lib/lv2/atom.lv2/forge.h -/usr/lib/lv2/atom.lv2/lv2-atom.doap.ttl /usr/lib/lv2/atom.lv2/manifest.ttl /usr/lib/lv2/atom.lv2/util.h /usr/lib/lv2/buf-size.lv2/buf-size.h +/usr/lib/lv2/buf-size.lv2/buf-size.meta.ttl /usr/lib/lv2/buf-size.lv2/buf-size.ttl -/usr/lib/lv2/buf-size.lv2/lv2-buf-size.doap.ttl /usr/lib/lv2/buf-size.lv2/manifest.ttl +/usr/lib/lv2/core.lv2/attributes.h +/usr/lib/lv2/core.lv2/lv2.h +/usr/lib/lv2/core.lv2/lv2_util.h +/usr/lib/lv2/core.lv2/lv2core.meta.ttl +/usr/lib/lv2/core.lv2/lv2core.ttl +/usr/lib/lv2/core.lv2/manifest.ttl +/usr/lib/lv2/core.lv2/meta.ttl +/usr/lib/lv2/core.lv2/people.ttl /usr/lib/lv2/data-access.lv2/data-access.h +/usr/lib/lv2/data-access.lv2/data-access.meta.ttl /usr/lib/lv2/data-access.lv2/data-access.ttl -/usr/lib/lv2/data-access.lv2/lv2-data-access.doap.ttl /usr/lib/lv2/data-access.lv2/manifest.ttl /usr/lib/lv2/dynmanifest.lv2/dynmanifest.h +/usr/lib/lv2/dynmanifest.lv2/dynmanifest.meta.ttl /usr/lib/lv2/dynmanifest.lv2/dynmanifest.ttl -/usr/lib/lv2/dynmanifest.lv2/lv2-dynmanifest.doap.ttl /usr/lib/lv2/dynmanifest.lv2/manifest.ttl /usr/lib/lv2/event.lv2/event-helpers.h /usr/lib/lv2/event.lv2/event.h +/usr/lib/lv2/event.lv2/event.meta.ttl /usr/lib/lv2/event.lv2/event.ttl -/usr/lib/lv2/event.lv2/lv2-event.doap.ttl /usr/lib/lv2/event.lv2/manifest.ttl /usr/lib/lv2/instance-access.lv2/instance-access.h +/usr/lib/lv2/instance-access.lv2/instance-access.meta.ttl /usr/lib/lv2/instance-access.lv2/instance-access.ttl -/usr/lib/lv2/instance-access.lv2/lv2-instance-access.doap.ttl /usr/lib/lv2/instance-access.lv2/manifest.ttl /usr/lib/lv2/log.lv2/log.h +/usr/lib/lv2/log.lv2/log.meta.ttl /usr/lib/lv2/log.lv2/log.ttl /usr/lib/lv2/log.lv2/logger.h -/usr/lib/lv2/log.lv2/lv2-log.doap.ttl /usr/lib/lv2/log.lv2/manifest.ttl -/usr/lib/lv2/lv2core.lv2/lv2.h -/usr/lib/lv2/lv2core.lv2/lv2core.doap.ttl -/usr/lib/lv2/lv2core.lv2/lv2core.ttl -/usr/lib/lv2/lv2core.lv2/manifest.ttl -/usr/lib/lv2/midi.lv2/lv2-midi.doap.ttl /usr/lib/lv2/midi.lv2/manifest.ttl /usr/lib/lv2/midi.lv2/midi.h +/usr/lib/lv2/midi.lv2/midi.meta.ttl /usr/lib/lv2/midi.lv2/midi.ttl -/usr/lib/lv2/morph.lv2/lv2-morph.doap.ttl /usr/lib/lv2/morph.lv2/manifest.ttl /usr/lib/lv2/morph.lv2/morph.h +/usr/lib/lv2/morph.lv2/morph.meta.ttl /usr/lib/lv2/morph.lv2/morph.ttl -/usr/lib/lv2/options.lv2/lv2-options.doap.ttl /usr/lib/lv2/options.lv2/manifest.ttl /usr/lib/lv2/options.lv2/options.h +/usr/lib/lv2/options.lv2/options.meta.ttl /usr/lib/lv2/options.lv2/options.ttl -/usr/lib/lv2/parameters.lv2/lv2-parameters.doap.ttl /usr/lib/lv2/parameters.lv2/manifest.ttl /usr/lib/lv2/parameters.lv2/parameters.h +/usr/lib/lv2/parameters.lv2/parameters.meta.ttl /usr/lib/lv2/parameters.lv2/parameters.ttl -/usr/lib/lv2/patch.lv2/lv2-patch.doap.ttl /usr/lib/lv2/patch.lv2/manifest.ttl /usr/lib/lv2/patch.lv2/patch.h +/usr/lib/lv2/patch.lv2/patch.meta.ttl /usr/lib/lv2/patch.lv2/patch.ttl -/usr/lib/lv2/port-groups.lv2/lv2-port-groups.doap.ttl /usr/lib/lv2/port-groups.lv2/manifest.ttl /usr/lib/lv2/port-groups.lv2/port-groups.h +/usr/lib/lv2/port-groups.lv2/port-groups.meta.ttl /usr/lib/lv2/port-groups.lv2/port-groups.ttl -/usr/lib/lv2/port-props.lv2/lv2-port-props.doap.ttl /usr/lib/lv2/port-props.lv2/manifest.ttl /usr/lib/lv2/port-props.lv2/port-props.h +/usr/lib/lv2/port-props.lv2/port-props.meta.ttl /usr/lib/lv2/port-props.lv2/port-props.ttl -/usr/lib/lv2/presets.lv2/lv2-presets.doap.ttl /usr/lib/lv2/presets.lv2/manifest.ttl /usr/lib/lv2/presets.lv2/presets.h +/usr/lib/lv2/presets.lv2/presets.meta.ttl /usr/lib/lv2/presets.lv2/presets.ttl -/usr/lib/lv2/resize-port.lv2/lv2-resize-port.doap.ttl /usr/lib/lv2/resize-port.lv2/manifest.ttl /usr/lib/lv2/resize-port.lv2/resize-port.h +/usr/lib/lv2/resize-port.lv2/resize-port.meta.ttl /usr/lib/lv2/resize-port.lv2/resize-port.ttl /usr/lib/lv2/schemas.lv2/dcs.ttl /usr/lib/lv2/schemas.lv2/dct.ttl @@ -109,36 +140,35 @@ /usr/lib/lv2/schemas.lv2/rdf.ttl /usr/lib/lv2/schemas.lv2/rdfs.ttl /usr/lib/lv2/schemas.lv2/xsd.ttl -/usr/lib/lv2/state.lv2/lv2-state.doap.ttl /usr/lib/lv2/state.lv2/manifest.ttl /usr/lib/lv2/state.lv2/state.h +/usr/lib/lv2/state.lv2/state.meta.ttl /usr/lib/lv2/state.lv2/state.ttl -/usr/lib/lv2/time.lv2/lv2-time.doap.ttl /usr/lib/lv2/time.lv2/manifest.ttl /usr/lib/lv2/time.lv2/time.h +/usr/lib/lv2/time.lv2/time.meta.ttl /usr/lib/lv2/time.lv2/time.ttl -/usr/lib/lv2/ui.lv2/lv2-ui.doap.ttl /usr/lib/lv2/ui.lv2/manifest.ttl /usr/lib/lv2/ui.lv2/ui.h +/usr/lib/lv2/ui.lv2/ui.meta.ttl /usr/lib/lv2/ui.lv2/ui.ttl -/usr/lib/lv2/units.lv2/lv2-units.doap.ttl /usr/lib/lv2/units.lv2/manifest.ttl /usr/lib/lv2/units.lv2/units.h +/usr/lib/lv2/units.lv2/units.meta.ttl /usr/lib/lv2/units.lv2/units.ttl -/usr/lib/lv2/uri-map.lv2/lv2-uri-map.doap.ttl /usr/lib/lv2/uri-map.lv2/manifest.ttl /usr/lib/lv2/uri-map.lv2/uri-map.h +/usr/lib/lv2/uri-map.lv2/uri-map.meta.ttl /usr/lib/lv2/uri-map.lv2/uri-map.ttl -/usr/lib/lv2/urid.lv2/lv2-urid.doap.ttl /usr/lib/lv2/urid.lv2/manifest.ttl /usr/lib/lv2/urid.lv2/urid.h +/usr/lib/lv2/urid.lv2/urid.meta.ttl /usr/lib/lv2/urid.lv2/urid.ttl -/usr/lib/lv2/worker.lv2/lv2-worker.doap.ttl /usr/lib/lv2/worker.lv2/manifest.ttl /usr/lib/lv2/worker.lv2/worker.h +/usr/lib/lv2/worker.lv2/worker.meta.ttl /usr/lib/lv2/worker.lv2/worker.ttl /usr/lib/pkgconfig/lv2.pc -/usr/lib/pkgconfig/lv2core.pc /usr/share/doc/lv2/COPYING /usr/share/doc/lv2/NEWS /usr/share/doc/lv2/README.md @@ -154,6 +184,7 @@ /usr/share/lv2specgen/DTD/xhtml-charent-1.mod /usr/share/lv2specgen/DTD/xhtml-csismap-1.mod /usr/share/lv2specgen/DTD/xhtml-datatypes-1.mod +/usr/share/lv2specgen/DTD/xhtml-datatypes-1.mod.1 /usr/share/lv2specgen/DTD/xhtml-edit-1.mod /usr/share/lv2specgen/DTD/xhtml-events-1.mod /usr/share/lv2specgen/DTD/xhtml-form-1.mod @@ -170,10 +201,13 @@ /usr/share/lv2specgen/DTD/xhtml-link-1.mod /usr/share/lv2specgen/DTD/xhtml-list-1.mod /usr/share/lv2specgen/DTD/xhtml-meta-1.mod +/usr/share/lv2specgen/DTD/xhtml-metaAttributes-1.mod /usr/share/lv2specgen/DTD/xhtml-object-1.mod /usr/share/lv2specgen/DTD/xhtml-param-1.mod /usr/share/lv2specgen/DTD/xhtml-pres-1.mod /usr/share/lv2specgen/DTD/xhtml-qname-1.mod +/usr/share/lv2specgen/DTD/xhtml-rdfa-1.dtd +/usr/share/lv2specgen/DTD/xhtml-rdfa-model-1.mod /usr/share/lv2specgen/DTD/xhtml-script-1.mod /usr/share/lv2specgen/DTD/xhtml-special.ent /usr/share/lv2specgen/DTD/xhtml-ssismap-1.mod diff --git a/testsuite/waf/all/vars b/testsuite/waf/all/vars new file mode 100644 index 00000000..35255e6e --- /dev/null +++ b/testsuite/waf/all/vars @@ -0,0 +1,3 @@ +declare -r ARCHES="all" +declare -- CROSS_HOST="" +declare -- INHERITED="waf autotools " diff --git a/testsuite/waf/all/waf-python2.patch b/testsuite/waf/all/waf-python2.patch deleted file mode 100644 index e7c8e755..00000000 --- a/testsuite/waf/all/waf-python2.patch +++ /dev/null @@ -1,16 +0,0 @@ ---- origsrc/lv2-1.12.0/waf 2015-01-25 21:24:02.000000000 +0000 -+++ src/lv2-1.12.0/waf 2022-03-14 16:41:08.376713600 +0000 -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/env python2 - # encoding: ISO8859-1 - # Thomas Nagy, 2005-2014 - ---- origsrc/lv2-1.12.0/wscript 2015-04-07 20:02:55.000000000 +0100 -+++ src/lv2-1.12.0/wscript 2022-03-14 16:41:18.847770500 +0000 -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/env python2 - import glob - import os - import re diff --git a/testsuite/waf/meson.build b/testsuite/waf/meson.build index 498b2f01..59fac88a 100644 --- a/testsuite/waf/meson.build +++ b/testsuite/waf/meson.build @@ -1,3 +1,3 @@ -if python2.found() +if python3.found() tests += [['waf/all']] endif