From 54027f0158761fe7244d4ffc23069a7e0d29235032b2750e1c11185723ca7b26 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20Schr=C3=B6ter?= Date: Fri, 3 May 2024 15:30:32 +0200 Subject: [PATCH] Sync from SUSE:SLFO:Main libproxy revision d2121dba6865dfac28a108bda1656b66 --- .gitattributes | 23 + _multibuild | 4 + baselibs.conf | 13 + libproxy-0.4.18.tar.xz | 3 + libproxy-perl-cflags.patch | 47 ++ libproxy.changes | 864 +++++++++++++++++++++++++++++++++++++ libproxy.spec | 475 ++++++++++++++++++++ 7 files changed, 1429 insertions(+) create mode 100644 .gitattributes create mode 100644 _multibuild create mode 100644 baselibs.conf create mode 100644 libproxy-0.4.18.tar.xz create mode 100644 libproxy-perl-cflags.patch create mode 100644 libproxy.changes create mode 100644 libproxy.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/_multibuild b/_multibuild new file mode 100644 index 0000000..444f994 --- /dev/null +++ b/_multibuild @@ -0,0 +1,4 @@ + + plugins + + diff --git a/baselibs.conf b/baselibs.conf new file mode 100644 index 0000000..72d7278 --- /dev/null +++ b/baselibs.conf @@ -0,0 +1,13 @@ +libproxy1 +#libproxy1-config-gnome +# supplements "packageand(libproxy1-:libproxy1-config-gnome)" +libproxy1-config-gnome3 + supplements "packageand(libproxy1-:libproxy1-config-gnome3)" +libproxy1-config-kde + supplements "packageand(libproxy1-:libproxy1-config-kde)" +#libproxy1-pacrunner-mozjs +# supplements "packageand(libproxy1-:libproxy1-config-mozjs)" +libproxy1-networkmanager + supplements "packageand(libproxy1-:libproxy1-config-networkmanager)" +libproxy1-pacrunner-webkit + supplements "packageand(libproxy1-:libproxy1-config-webkit)" diff --git a/libproxy-0.4.18.tar.xz b/libproxy-0.4.18.tar.xz new file mode 100644 index 0000000..547a6ad --- /dev/null +++ b/libproxy-0.4.18.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:69b5856e9ea42c38ac77e6b8c92ffc86a71d341fef74e77bef85f9cc6c47a4b1 +size 82020 diff --git a/libproxy-perl-cflags.patch b/libproxy-perl-cflags.patch new file mode 100644 index 0000000..2bf5829 --- /dev/null +++ b/libproxy-perl-cflags.patch @@ -0,0 +1,47 @@ +From 4d7b2a237b206492cd63d0e96c0c1caf89902352 Mon Sep 17 00:00:00 2001 +From: Fabian Vogt +Date: Tue, 21 Jun 2022 10:45:50 +0200 +Subject: [PATCH] bindings: perl: Use ccflags from %Config for libproxy module + compilation + +This is needed to achieve (binary and source) compatibility. Unfortunately +there doesn't appear to be a more official way, even PERL_EXTRA_C_FLAGS is not +complete. + +Fixes #182 +--- + bindings/perl/CMakeLists.txt | 7 +++++++ + bindings/perl/src/CMakeLists.txt | 1 + + 2 files changed, 8 insertions(+) + +diff --git a/bindings/perl/CMakeLists.txt b/bindings/perl/CMakeLists.txt +index 4db28e1a..368bc56a 100644 +--- a/bindings/perl/CMakeLists.txt ++++ b/bindings/perl/CMakeLists.txt +@@ -33,6 +33,13 @@ if(PERL_FOUND AND PERLLIBS_FOUND) + OUTPUT_VARIABLE PX_PERL_ARCH) + set (PX_PERL_LIB ${PERL_SITELIB}) + endif() ++ ++ # PERL_EXTRA_C_FLAGS is not complete, we need full flags (including e.g. ++ # _FILE_OFFSET_BITS=64) for compatibility. ++ EXECUTE_PROCESS(COMMAND ${PERL_EXECUTABLE} -MConfig -e "print \$Config{ccflags}" ++ OUTPUT_VARIABLE PX_PERL_CCFLAGS) ++ # Convert it to a "list" suitable for target_compile_options. ++ string(REPLACE " " ";" PX_PERL_CCFLAGS ${PX_PERL_CCFLAGS}) + endif() + + add_subdirectory(lib) +diff --git a/bindings/perl/src/CMakeLists.txt b/bindings/perl/src/CMakeLists.txt +index 29e656d4..2800a85c 100644 +--- a/bindings/perl/src/CMakeLists.txt ++++ b/bindings/perl/src/CMakeLists.txt +@@ -18,6 +18,7 @@ if(PERL_LINK_LIBPERL) + endif() + + target_link_libraries(PLlibproxy ${PLlibproxy_LIB_DEPENDENCIES}) ++target_compile_options(PLlibproxy PRIVATE ${PX_PERL_CCFLAGS}) + set_target_properties(PLlibproxy PROPERTIES OUTPUT_NAME "Libproxy") + set_target_properties(PLlibproxy PROPERTIES PREFIX "") + + diff --git a/libproxy.changes b/libproxy.changes new file mode 100644 index 0000000..c87aa1c --- /dev/null +++ b/libproxy.changes @@ -0,0 +1,864 @@ +------------------------------------------------------------------- +Thu Jun 1 12:43:25 UTC 2023 - Frederic Crozat + +- Only build mono support on openSUSE, not SLE nor SUSE ALP. + +------------------------------------------------------------------- +Tue Jun 21 08:50:02 UTC 2022 - Dominique Leuenberger + +- Add libproxy-perl-cflags.patch: perl: Use ccflags from %Config + for libproxy module compilation; fixes perl test suite on i586. + +------------------------------------------------------------------- +Mon Jun 20 14:01:59 UTC 2022 - Dominique Leuenberger + +- Update to version 0.4.18: + + build: Allow configuration of sysconfig module. + + config_envvar: Add environment variable for pacrunner + debugging. + + build: disable mozjs by default. + + python: Support Python 3.10 and above. + + Add Duktape pacrunner module. + + config_kde: Compute list of config file locations ourselves. + + cpmfog_gnome3: Add gnome-wayland to permitted DESKTOP_SESSION. +- Drop libproxy-python-310.patch: fixed upstream. +- Build duktape pacrunner module: + + Add pkgconfig(duktape): new dependency. + + Split new subpackage libproxy1-pacrunner-duktape. + + Suggest duktape pacrunner for config modules recommending a + pacrunner. + +------------------------------------------------------------------- +Mon May 16 10:27:55 UTC 2022 - Dominique Leuenberger + +- Add libproxy-python-310.patch: Detect python 3.10. + +------------------------------------------------------------------- +Thu Feb 10 00:11:21 UTC 2022 - Bjørn Lie + +- Drop gconf2-devel BuildRequires: libproxy was ported to gsettings + quite some time ago. +- Update our Supplements to current standard. + +------------------------------------------------------------------- +Tue Jul 13 13:33:13 UTC 2021 - Dominique Leuenberger + +- Do no longer BuildRequire libmodman-devel: libproxy 0.4.17 was + changed upstream to only support to internal version (no other + consumer of libmodman exists). +- No longer pass -DFORCE_SYSTEM_LIBMODMAN=ON to cmake: not + understood anymore (boo#1188265). + +------------------------------------------------------------------- +Tue Dec 29 11:35:09 UTC 2020 - Dominique Leuenberger + +- Update to version 0.4.17: + + python bindings: fix "TypeError: argtypes must be a sequence of + types". +- Drop 147.patch: fixed upstream. + +------------------------------------------------------------------- +Mon Dec 14 16:37:32 UTC 2020 - Dominique Leuenberger + +- Add 147.patch: python bindings: fix "TypeError: _argtypes_ must + be a sequence of types". + +------------------------------------------------------------------- +Fri Dec 4 11:11:52 UTC 2020 - Dominique Leuenberger + +- Update to version 0.4.16: + + Port to, and require, SpiderMonkey 6. + + Use closesocket() instead of close() on Windows. + + Add symbol versions - be ready to introduce new APIs as needed. + + Add public px_proxy_factory_free_proxies function. + + Add PacRunner config backend (largely untested; feedback + welcome!). + + Small performance improvements. + + pxgsettings: use the correct syntax to connect to the changed + signal (silences annoying output on console). + + Support python3 up to version 3.9. + + Fix buffer overflow when PAC is enabled (CVE-2020-26154). + + Rewrite url::recvline to be nonrecursive (CVE-2020-25219). + + Remove nonfunctional and crashy pacrunner caching. + + Never use system libmodman (no other consumers, not + maintained). +- Drop upstream merged patches: + + libproxy-python3.7.patch + + libproxy-pxgsettings.patch + + libproxy-CVE-2020-25219.patch + libproxy-fix-pac-buffer-overflow.patch +- Create new sub-package libproxy1-config-pacrunner. + +------------------------------------------------------------------- +Wed Sep 30 18:50:44 UTC 2020 - Michael Gorse + +- Add libproxy-CVE-2020-25219.patch: Rewrite url::recvline to be + nonrecursive (boo#1176410 CVE-2020-25219). +- Add libproxy-fix-pac-buffer-overflow.patch: fix buffer overflow + when PAC is enabled (boo#1177143 CVE-2020-26154). + +------------------------------------------------------------------- +Fri Sep 14 02:58:52 UTC 2020 - Yifan Jiang + +- Build with KDE on Tumbleweed, Leap and SLE releases greater than + SLE-15-SP2 (jsc#SLE-12256). + +------------------------------------------------------------------- +Mon Apr 27 10:10:47 UTC 2020 - Dominique Leuenberger + +- Add libproxy-pxgsettings.patch: pxgsettings: use the correct + syntax to connect to the changed signal. + +------------------------------------------------------------------- +Thu Mar 12 07:10:15 UTC 2020 - Tomáš Chvátal + +- Remove few SLE11 conditions +- Fix build without python2 available + +------------------------------------------------------------------- +Wed Dec 12 16:08:37 UTC 2018 - Dominique Leuenberger + +- Convert package from multispec to multibuild. + +------------------------------------------------------------------- +Fri Oct 5 12:51:19 UTC 2018 - Dominique Leuenberger + +- Update Url tag to point to http://libproxy.github.io/libproxy/ +- Add libproxy-python3.7.patch: Support python 3.7 and 3.8. +- Drop py_requires: no longer needed. + +------------------------------------------------------------------- +Sat Jul 7 19:01:07 UTC 2018 - bjorn.lie@gmail.com + +- Drop favor_gtk2 conditional. + +------------------------------------------------------------------- +Thu Feb 22 15:13:54 UTC 2018 - fvogt@suse.com + +- Use %license (boo#1082318) + +------------------------------------------------------------------- +Thu Sep 7 19:29:58 UTC 2017 - jengelh@inai.de + +- Update descriptions and RPM categories. + +------------------------------------------------------------------- +Thu May 11 09:36:16 UTC 2017 - dimstar@opensuse.org + +- Update to version 0.4.15: + + Port to, and require, SpiderMonkey 38. + + Fix "NetworkManager plugin not being built" + (gh#libproxy/libproxy#53). + + Fix "networkmanager plugin not working + (gh#libproxy/libproxy#58). + + Fix "Invalid read after free" (gh#libproxy/libproxy#59). + + Fix intermittent unit test failures. +- Replace pkgconfig(mozjs185) buildRequires with + pkgconfig(mozjs-38), following upstream. + +------------------------------------------------------------------- +Mon Feb 6 12:30:17 UTC 2017 - dimstar@opensuse.org + +- Have libproxy1-config-kde require libqt5-qtpaths instead of + libqt5-qttools on openSUSE > 13.2 / openSUSE > Leap 42.x + (boo#988808). + +------------------------------------------------------------------- +Mon Jan 9 14:33:04 UTC 2017 - dimstar@opensuse.org + +- Update to version 0.4.14: + + Parallel build support for python2 and python3. + -DWITH_PYTHON has been replaced with -DWITH_PYTHON2 and + -DWITH_PYTHON3 to have full control over this. Default is + ON for both (gh#libproxy/libproxy#22). + + Minor fixes to the PAC retriever code + (gh#libproxy/libproxy#40). + + Fallback to mcs instead of gmcs for the mono bindings + (gh#libproxy/libproxy#37). + + Fix build using cmake 3.7. + + Fix deprecation warnings of pxgsettings with glib 2.46. + + Improve the get-pac test suite (gh#libproxy/libproxy#47). +- Drop update-from-svn.sh: The script has not been usable for + years, since libproxy is no longer hosted in this svn repo. +- Drop upstream merged patches: + + libproxy-cmake-3.7.patch + + libproxy-FindMono-4.6.patch + + libproxy-gnome-waitpid.patch + + libproxy-python3-support.patch +- Re-enable the test suite: with the upstream changes this should + now be more reliable. + +------------------------------------------------------------------- +Tue Nov 22 08:18:37 UTC 2016 - dimstar@opensuse.org + +- Add libproxy-cmake-3.7.patch: Fix build with cmake 3.7. + +------------------------------------------------------------------- +Thu Sep 29 09:48:02 UTC 2016 - dimstar@opensuse.org + +- Add libproxy-FindMono-4.6.patch: Fall back to mcs if gmcs cannot + be found. Fixes issues with mono 4.6, which no longer ships the + wrapper by default. + +------------------------------------------------------------------- +Mon Aug 8 13:16:48 UTC 2016 - dimstar@opensuse.org + +- Add libproxy-python3-support.patch: Allow to build PYTHON2 and + PYTHON3 bindings during the same build phase. +- Create new subpackage python3-libproxy. +- Add python3-devel BuildRequires when not building core. + +------------------------------------------------------------------- +Fri Jul 22 12:36:59 UTC 2016 - dimstar@opensuse.org + +- Add libproxy-gnome-waitpid.patch: GNOME3: Wait for pxgsettings to + vanish while destroying the plugin (boo#967601). + +------------------------------------------------------------------- +Fri May 20 07:34:21 UTC 2016 - alarrosa@suse.com + +- Update to GNOME 3.20.2 (Fate#318572, bnc#980527) + +------------------------------------------------------------------- +Tue May 10 17:20:55 UTC 2016 - dimstar@opensuse.org + +- Require libqt5-qttools by libproxy1-config-kde: the plugin spawns + qtpaths to find the right config files (boo#979232). +- Trigger libproxy1-config-kde for installation when + plasma5-session and libproxy1 are installed. + +------------------------------------------------------------------- +Mon May 9 11:26:00 UTC 2016 - dimstar@opensuse.org + +- Fix condition to not build KDE plugin for SLE. + +------------------------------------------------------------------- +Thu Apr 28 16:54:40 UTC 2016 - dimstar@opensuse.org + +- Update to version 0.4.13: + + Allow linking webkit pacrunner against javascriptcore-4.0 + (webkit2). + + Allow to disable building of the KDE module + (-DWITH_KDE=ON/OFF). + + Fix compilation errors with CLang on MacOSX. + + bindings: perl: Add an option to explicitly link against + libperl.so. Some distributions want to do it, other prefer not + to, the library is anyway in context of perl. + + config_kde: Add a basic cache and invalidation: performance + improvement for the KDE module. +- Pass -DWITH_KDE=OFF to cmake when building core. +- Replace pkgconfig(webkitgtk-3.0) BuildRequires with + pkgconfig(javascriptcoregtk-4.0): make use of the WebKit2 port. + +------------------------------------------------------------------- +Fri Apr 15 22:00:25 UTC 2016 - mgorse@suse.com + +- Update to GNOME 3.20 Fate#318572 + +------------------------------------------------------------------- +Thu Jan 14 11:56:33 UTC 2016 - fcrozat@suse.com + +- Disable building libproxy-config-kde on SLE. + +------------------------------------------------------------------- +Tue Jan 12 16:46:37 UTC 2016 - dimstar@opensuse.org + +- Update to version 0.4.12: + + Move development to github.com/libproxy/libproxy. + + Fix fd leak in get_pac (Bug #185). + + Detect running MATE session (Bug #186, Part1). + + Fix linking of perl bindings to pthread (Bug #182). + + Correctly detect spidermonky (mozjs185) (Bug #188). + + Stop pxgsettings from segfaulting on exit (Bug #192). + + Fix test #10 (Bug #189). + + Fix build on Mac OS X (Bug #183). + + Add a generic KDE Config module (fix crashes of Qt5 based + apps) (issue#4). +- Drop upstream fixed patches: + + libproxy-pxgsettings-crash.patch + + libproxy-no-libperl.patch + + libproxy-pxgsettings-signals.patch +- Rename libproxy1-config-kde4 subpackage to libproxy-config-kde, + following upstreams introduction of the generic config loader. +- Require libKF5ConfigCore5 from libproxy1-config-kde (we don't + really need the library, but kreadconfig5 in this package). +- Replace libkde4-devel and libqt4-devel BuildRequires with + libKF5ConfigCore5: the new KDE config parser interacts directly + with kreadconfig5 and does not link to Qt. + +------------------------------------------------------------------- +Fri May 15 10:00:14 UTC 2015 - dimstar@opensuse.org + +- Add libproxy-pxgsettings-signals.patch: Fix for pxgsettins not + actively monitoring gsetting changes. Due to recent changes in + GLib, only values are being monitored, that are read AFTER the + signal handler is attached. +- Adjust baselibs.conf to match what is currenly being built. + +------------------------------------------------------------------- +Wed Aug 6 09:51:00 UTC 2014 - fcrozat@suse.com + +- Change Supplements to install libproxy1-config-gnome3 only if + gnome-session-core is installed to reduce minimal install size + (bnc#885455). + +------------------------------------------------------------------- +Thu Sep 5 18:08:52 CEST 2013 - mls@suse.de + +- Add libproxy-no-libperl.patch: do not link the perl module + against libperl. We do not want a dependency on the libperl + library, as that would make as depend on the specific version of + perl. As the bindings are running in perl context, libperl can + be assumed to be loaded by that time. +- Use perl_requires if it is defined. + +------------------------------------------------------------------- +Mon Aug 26 18:07:54 UTC 2013 - dimstar@opensuse.org + +- Add libproxy-pxgsettings-crash.patch: fix crash in pxgsettings + when it's closing down (bnc#836576). + +------------------------------------------------------------------- +Fri Aug 2 14:41:10 UTC 2013 - dimstar@opensuse.org + +- Build mono, perl and python sub package while building -plugins + instead of the main package. This helps keeping the build deps + for the main package minimal. + +------------------------------------------------------------------- +Thu Jul 11 13:13:38 UTC 2013 - dmueller@suse.com + +- Use build conditional (gcond) for enabling/disabling mono + bindings instead of static defines. This allows for osc build + and rpmbuild to be used more flexible. + +------------------------------------------------------------------- +Thu Feb 28 18:38:42 UTC 2013 - dmueller@suse.com + +- Remove mono support for aarch64 for now. + +------------------------------------------------------------------- +Sun Dec 2 12:24:23 UTC 2012 - dimstar@opensuse.org + +- Update to version 0.4.11: + + Build fixes with cmake 2.8.10+. + + Quick release without built binaries / files (bug#184). +- Drop cmake-2.8.10-compat.diff: fixed upstream. + +------------------------------------------------------------------- +Mon Nov 12 11:26:35 UTC 2012 - cgiboudeaux@gmx.com + +- Add cmake-2.8.10-compat.diff: fixes a CMake error with + CMake >= 2.8.10 (bnc#789219). + +------------------------------------------------------------------- +Tue Oct 16 07:15:34 UTC 2012 - dimstar@opensuse.org + +- Update to version 0.4.10: + + Fix http chunk encoded PAC that was broken in previous release. + + Add HTTP client unit test. + + Fix more coding style issues. +- Disable test suite for now: the new http client test fails for + weird reasons in the build bot (but works locally). + +------------------------------------------------------------------- +Thu Oct 11 09:22:26 UTC 2012 - coolo@suse.com + +- Add explicit netcfg BuildRequires for the test suite. + +------------------------------------------------------------------- +Wed Oct 10 19:08:52 UTC 2012 - dimstar@opensuse.org + +- Update to version 0.4.9: + + Fixed buffer overflow when downloading PAC (CVE-2012-4504). + + Fix infinite loop uppon network errors. + +------------------------------------------------------------------- +Tue Oct 2 20:47:09 UTC 2012 - dimstar@opensuse.org + +- Update to version 0.4.8: + + Only support standalone mozjs185 as mozilla js engine. + + Support building with javascritpcoregtk 1.5 + + Support sending multiple results. + * Issues fixed: + - #166: Libproxy does not parse NO_PROXY correct when the line + contains spaces + - #164: If gconf's value is an empty list, pxgconf will make + /usr/bin/proxy wait forever + - #60: use lib js for embedded solutions + - #160: strdup and gethostbyname not declared on OSX 10.7 + - #168: .pc file should be installed under OSX as well. + - #170: Also check for "Transfer-Encoding: chunked". + - #171: mozjs pacrunner: Fix parameters of dnsResolve_() + - #172: Allow to forcibly build pacrunner as module + - #173: Libproxy doesn't build with gcc 4.7 + - #147: Use ${CMAKE_DL_LIBS} instead of assuming libdl is correct. + - #176: python bindings: guard the destructor. + - #177: Speed up importing of libproxy in python. +- Drop upstream fixed patches: + + libproxy-javascriptcoregtk.patch + + libproxy-mozjs185.patch + + libproxy-trim-ignores.patch + + libproxy-gcc47.patch + + libproxy-force-bipr.patch + +------------------------------------------------------------------- +Sat Jun 9 10:11:55 UTC 2012 - dimstar@opensuse.org + +- Add libproxy-force-bipr.patch: Force building pacrunner as module + This is required as libproxy, when building only one pacrunner, + links the module internal. But as we only temporarly disable + the mozjs, we do need to keep the webkit runner as an external + module. +- Also pass -DBIPR=0 to cmake, to enable the patch above. + +------------------------------------------------------------------- +Wed Jun 6 12:26:57 UTC 2012 - dimstar@opensuse.org + +- Temporaryly disable the mozjs pacrunner: it casues crashes due + to symbol conflicts in Firefox (bnc#759123): + + Introduce build_mozjs defines, currently set to 0 + + Conditionally build the pacrunner-mozjs package + + Conditionally buildrequire pkgconfig(mozjs185) + + When not building mozjs pacrunner, obsolete the package by + libproxy1. + +------------------------------------------------------------------- +Tue Mar 13 21:19:29 UTC 2012 - dimstar@opensuse.org + +- Add libproxy-gcc47.patch: Fix build with gcc 4.7. + +------------------------------------------------------------------- +Wed Feb 1 20:08:01 UTC 2012 - dimstar@opensuse.org + +- Add libproxy-trim-ignores.patch: Trim strings in ignore list. + Fix bnc#739069. + +------------------------------------------------------------------- +Mon Nov 7 09:24:23 CET 2011 - meissner@suse.de + +- remove mono dependency also for ppc64 + +------------------------------------------------------------------- +Fri Oct 7 14:10:35 CEST 2011 - dmueller@suse.de + +- remove mono dependency for %%arm + +------------------------------------------------------------------- +Wed Jul 27 14:53:34 CEST 2011 - vuntz@opensuse.org + +- Build against js instead of xulrunner: + + Add libproxy-mozjs185.patch: taken from upstream, detect + mozjs185 instead of xulrunner in the build system. + + Add pkgconfig(mozjs185) BuildRequires and remove + mozilla-xulrunner-devel BuildRequires. + + Change Supplements of libproxy1-pacrunner-mozjs to use + libmozjs185-1_0 instead of mozilla-xulrunner. +- Change Supplements of libproxy1-pacrunner-webkit to appropriately + use libjavascriptcoregtk-1_0-0/libjavascriptcoregtk-3_0-0 + (depending on %favor_gtk2) instead of libwebkitgtk-0. + +------------------------------------------------------------------- +Mon Jun 20 18:26:49 UTC 2011 - dimstar@opensuse.org + +- Add libproxy-javascriptcoregtk.patch: Fix build with + webkitgtk-3.0 version 1.5.1: javascriptcoregtk became independent + and can be used on it's own now and is actually what libproxy + depends on. Patch taken from upstream svn, r816. + +------------------------------------------------------------------- +Mon Jun 6 21:51:45 UTC 2011 - dimstar@opensuse.org + +- Update to version 0.4.7: + + Support/require xulrunner 2.0+ + + Support linking againgst libwebkit-gtk3 (-DWITH_WEBKIT3=ON) + + Port to gsettings for gnome3. (-DWITH_GNOME3=ON[default]) + + Issues closed: + - #149: always test for the right python noarch module path + - #155: Cannot compile with Firefox 4 + - #156: libproxy should build against webkitgtk-3.0 + - #158: Won't compile w/ xulrunner 2.0 final + - #159: libproxy fails with autoconfiguration + "http://proxy.domain.com" + - #131: GSettings-based GNOME plugin + - #150: SUSE sysconfig/proxy config support +- Drop patches included upstream: + + libproxy-sysconfig-support.patch + + libproxy-xul2.patch + + libproxy-backports.patch +- Package gnome3 module instead of gnome module, if favor_gtk2 is + not set (in the project metadata). +- Add gnome3 module to baselibs.conf and fixup the various + Supplements in baselibs.conf (pointed to the pre -config names). +- When building for gnome3 (favor_gtk2 = 0), add BuildRequires: + pkgconfig(gio-2.0) >= 2.26, pkgconfig(gobject-2.0) and + pkgconfig(webkitgtk-3.0) +- When building for gnome2, add BuildRequires: + pkgconfig(gconf-2.0), pkgconfig(gobject-2.0) and replace + libwebkit-devel with pkgconfig(webkit-1.0). + +------------------------------------------------------------------- +Tue Apr 19 00:10:03 CEST 2011 - ro@suse.de + +- Update baselibs.conf. + +------------------------------------------------------------------- +Tue Feb 15 19:16:02 UTC 2011 - dimstar@opensuse.org + +- Add libproxy-backports.patch: Backport critical fixes from + upstream codestream. + +------------------------------------------------------------------- +Mon Feb 14 17:14:18 UTC 2011 - dimstar@opensuse.org + +- Add libproxy-xul2.patch: Add compatibility to build against + xulrunner 2.0. Patch submitted upstream, issue#155. +- Use xulrunner 2.0 on openSUSE 11.4. + +------------------------------------------------------------------- +Mon Dec 6 16:32:28 CET 2010 - vuntz@opensuse.org + +- Add libproxy-sysconfig-support.patch, to support the proxy + configuration from sysconfig. Part of bnc#655483. + Patch written by Duncan Mac-Vicar . + +------------------------------------------------------------------- +Thu Sep 2 09:38:47 CEST 2010 - dimstar@opensuse.org + +- Update to version 0.4.6: + + Fixed a crash in the URL parser + + Fixed build issues with Visual Studio + + Updated the INSTALL file + + Install Python binding in prefix path if site-packages exists + +------------------------------------------------------------------- +Fri Aug 20 15:16:46 UTC 2010 - dimstar@opensuse.org + +- Mono bindings are not available for all supported platforms, + thus wrapping it in a if have_mono [...] endif. + +------------------------------------------------------------------- +Thu Aug 19 22:16:22 UTC 2010 - dimstar@opensuse.org + +- Check for build_snapshot: the svn snapshot project contains + unversioned tarballs. + +------------------------------------------------------------------- +Thu Aug 19 15:49:02 UTC 2010 - dimstar@opensuse.org + +- Update to version 0.4.5: + + C# bindings are installable (-DWITH_DOTNET=ON) + + C# bindings installation path can be changed using -DGAC_DIR= + + Internal libmodman build fixed + + Installation dirs are now all relative to CMAKE_INSTALL_PREFIX + + Fixed test while using --as-needed linker flag + + Fixed generation of libproxy-1.0.pc + + Basic support for Mingw added (not yet 100% functional) + + Ruby binding implemented (not yet in the build system) + + Fixed modules not being found caused by relative + LIBEXEC_INSTALL_DIR + + Fixed bug with builtin plugins (Issue 133) + + Vala bindings installation path can be changed using + -DVAPI_DIR= + + Python bindings installation path can be changed using + -DPYTHON_SITEPKG_DIR= + + Perl bindings can be installed in vendor directory + (-DPERL_VENDORARCH=ON) + + Perl bindings installation path can be change using + -DPX_PERL_ARCH= + + Unit test now builds on OSX +- Changes from version 0.4.4: + + Add support for optionally building using a system libmodman + + Rework build system to be cleaner + + Fix two major build system bugs: 127, 128 + +------------------------------------------------------------------- +Mon Jul 5 21:42:37 UTC 2010 - dimstar@opensuse.org + +- Add mono-devel BuildRequires to install the csharp bindings. + +------------------------------------------------------------------- +Tue Jun 22 17:48:31 UTC 2010 - dimstar@opensuse.org + +- Initial work to support win32 cross building. + +------------------------------------------------------------------- +Mon Jun 14 17:48:01 UTC 2010 - dimstar@opensuse.org + +- Use external libmodman: add libmodman-devel BuildRequires. +- Drop libmodman0 subpackage + +------------------------------------------------------------------- +Wed Jun 9 22:52:05 UTC 2010 - dimstar@opensuse.org + +- Enable build on other distributions than openSUSE, wrapping + openSUSE rpm tags like Recommends and Supplements in %if + statements. + +------------------------------------------------------------------- +Mon Jun 7 17:01:55 UTC 2010 - dimstar@opensuse.org + +- Update to version 0.4.3: + + Test can now be out-compiled using BUILD_TESTING=OFF + + Fixed python binding not handling NULL pointer + + Pyhton binding now support Python version 3 + + Rewrote URL parser to comply with unit test (bnc#612007) + + Username and password are now URL encoded + + Scheme comparison is now non-case sensitive + + Fixed deadlock using WebKit as PAC runner + + Fixed OS X compilation of Perl bindings +- libmodman0_0_0 is now correctly called libmodman0, follow this + change also in baselibs.conf + +------------------------------------------------------------------- +Tue May 25 16:04:53 UTC 2010 - dimstar@opensuse.org + +- Update to version 0.4.2: + + Fixed python bindings + + Workaround cmake bug with dynamic libraries in non-standard + folders. + +------------------------------------------------------------------- +Tue May 18 18:39:50 UTC 2010 - dimstar@opensuse.org + +- Update to version 0.4.1: + + Improved cross-platform build + + Added Perl and Vala bindings + + Fix multiple infinite loop bugs + + Fix random crash with Gnome backend + + Standardized Gnome backend based on Mozilla and Chrome behavior + + Removed dependency to X11 in Gnome backend + + Allow disabling features at build time using WITH_* cmake + options + + Module path can now be altered using PX_MODULE_PATH environment + + pxgconf helper location can be altered using PX_GCONF + environment + + Removed proxy scheme filtering, we now trust config modules + + socks5:// and socks4:// is now allowed + + Fix crash when password is empty string + + Complete list of bug fixes: + - #19, #59, #65, #86, #87, #88, #89, #90, #91, #92, #93, #97, + #98, #99, #100, #101, #102, #103, #106, #108, #110 + + Known issues: + + #109 - Scheme comparison is case sensitive + + #112 - Username and password are not URI encoded + +------------------------------------------------------------------- +Thu Mar 29 22:49:21 UTC 2010 - dimstar@opensuse.org + +- Update to svn snapshot 626 + + No longer require xlib to detect session. +- Remove xorg-x11-libXmu-devel BuildRequires. + +------------------------------------------------------------------- +Fri Mar 26 13:18:23 CET 2010 - vuntz@opensuse.org + +- Build against mozilla-xulrunner192-devel on openSUSE > 11.2. + +------------------------------------------------------------------- +Mon Mar 15 07:01:20 UTC 2010 - dimstar@opensuse.org + +- Update to svn snapshot 621 in order to fix some serious crashes + in config_gnome. This is close to what will be the 0.4.1 release. +- Drop all patches as they came from upstream and are included + in this snapshot already. + +------------------------------------------------------------------- +Wed Mar 10 10:41:45 UTC 2010 - dimstar@opensuse.org + +- Do not forcibly require libmodman from the tools package. It's + pulled in by library dependencies. + +------------------------------------------------------------------- +Wed Mar 10 09:43:01 UTC 2010 - coolo@novell.com + +- add libmodman0_0_0 to baselibs.conf + +------------------------------------------------------------------- +Sat Mar 6 18:32:06 UTC 2010 - dimstar@opensuse.org + +- Add libproxy-gcc45.patch to fix build with gcc 4.5. Patch comes + from upstream svn, rev 599. + +------------------------------------------------------------------- +Fri Feb 26 09:44:18 CET 2010 - dimstar@opensuse.org + +- Update to version 0.4.0: + + C++ rewrite + + Small API change (px_proxy_factory_get_proxy() can now return + NULL) + + SOVERSION bump + + libmodman is now a separate library + + Migrate to cmake + + Windows support (config_w32reg, ignore_hostname; VC++ support) + + MacOSX support (config_macosx, ignore_hostname) + + Built-in modules support + + Support for chunked encoding + + Move to hidden visibility by default + + KDE's KConfig semantics are fully supported + + Removeal of all PX_* env variables (no longer needed) + + Symbol based detection of relevant pacrunner + + Reworked config_gnome to not suck (its *much* faster) + + Many other things I can't remember +- BuildRequire cmake, gccc-++ and zlib-devel +- Add libproxy-pysitelib.patch, as the python bindings are are + arch-independent +- Add libproxy-libexecpatch.patch to move library helpers to proper + libexecdir. +- Build the python-package as noarch +- sonum bump to 1, thus changing name to libproxy1 +- Split out libmodman (will not follow the versioning of libproxy + in the long run). +- Add libproxy-pkgconfig.patch to also install the .pc file. + +------------------------------------------------------------------- +Tue Jan 5 17:17:30 CET 2010 - jengelh@medozas.de + +- Package baselibs.conf + +------------------------------------------------------------------- +Thu Oct 8 19:34:24 UTC 2009 - dimstar@opensuse.org + +- Update to version 0.3.1 + + Bugfixes + - config file parser reads all sections + - KDE session detection based on environment varibales, + as suggested by KDE upstream. + + KDE configuration module is the first module in C++ and + now links to libkdecore4 in order to properly detect the + configuration folder for kde. + + At the moment we're not compatible with KDE3. Sorry. + + .NET bindings can now properly be installed and it should + be possible for packagers to provide them. +- Add gcc-c++, libkde4-devel and libqt4-devel for updated kde mod. +- This update solves bnc#546199. + +------------------------------------------------------------------- +Mon Aug 17 00:10:04 CEST 2009 - dominique-obs@leuenberger.net + +- Update to version 0.3.0 + + WARNING!!! Slight API change!!! see docs for + px_proxy_factory_get_proxies() + + Credentials support (see API change above) + + A complete rewrite of the module manager + + file:// as valid PAC URLs + + Sample Mono application + + Automake 1.11 shaved output + + gnome backend rewrite (now w/o thread issues) + + Test suite base functionality exists + + Many solaris build fixes + + Seamonkey support as JS pacrunner + + Bugfixes + + Compiles for MS Windows using Mingw +- Split additional modules out in separate packages. + +------------------------------------------------------------------- +Wed Aug 12 12:54:22 CEST 2009 - dominique-obs@leuenberger.net + +- Use new python macros on openSUSE <= 11.1 + +------------------------------------------------------------------- +Sun Aug 9 12:43:26 CEST 2009 - coolo@novell.com + +- use new python macros + +------------------------------------------------------------------- +Mon Jun 22 12:46:40 CEST 2009 - dominique-obs@leuenberger.net + +- Add libproxy-svn-303_as-needed.patch to successfully build with + --as-needed + +------------------------------------------------------------------- +Tue Jun 16 13:39:41 CEST 2009 - dominique-obs@leuenberger.net + +- Extend baselibs.conf + We also need the plugins 32bit. The 32bit plugin get's installed + as soon as the 32bit librarz is installed. Same featureset is + recommended, bnc#485543 + +------------------------------------------------------------------- +Wed May 13 03:38:07 CEST 2009 - vuntz@novell.com + +- Tag patches. + +------------------------------------------------------------------- +Wed May 6 15:08:14 CEST 2009 - vuntz@novell.com + +- Build libproxy-plugins against mozilla-xulrunner191 on + openSUSE > 11.1. + +------------------------------------------------------------------- +Thu Apr 23 22:59:26 CEST 2009 - vuntz@novell.com + +- Change Name to libproxy-plugins in libproxy-plugins.spec. + +------------------------------------------------------------------- +Thu Apr 16 23:09:30 CEST 2009 - vuntz@novell.com + +- Split the build in two steps, libproxy and libproxy-plugins, to + avoid a build loop: libproxy depends on libwebkit which depends + on libsoup which depends on libproxy. So we now have a new spec + file for libproxy-plugins where the libwebkit dependency is. + +------------------------------------------------------------------- +Sun Mar 15 00:10:29 CET 2009 - vuntz@novell.com + +- Review changes. + +------------------------------------------------------------------- +Sat Mar 14 09:41:22 CET 2009 - wr@rosenauer.org + +- use correct mozilla/xulrunner dependencies + +------------------------------------------------------------------- +Mon Feb 23 13:57:01 CET 2009 - vuntz@novell.com + +- Revert the use of %{libproxy_shnum}: there are places where the + macro cannot be used (%files, eg), and we want don't want to mix + libproxy0 and libproxy%{libproxy_shnum} -- too likely to forget + to update one of the two instances. + +------------------------------------------------------------------- +Sun Feb 22 02:14:14 CET 2009 - vuntz@novell.com + +- Review changes. +- Add Provides/Obsoletes after plugin packages renaming. +- Don't use %{name} everywhere: in some places, it doesn't help + with clarity; in some others, it could be wrong in the future (in + Supplements). + +------------------------------------------------------------------- +Tue Feb 17 11:06:18 CET 2009 - domninique-obs@leuenberger.net + +- Replace the %{name}0 all over by %{name}%{libproxy_shnum}, makes + it easier for future updates by linking to variables. + +------------------------------------------------------------------- +Tue Feb 17 09:55:00 CET 2009 - vuntz@novell.com + +- Review changes. + +------------------------------------------------------------------- +Tue Feb 17 09:49:12 CET 2009 - dominique-obs@leuenberger.net + +- Have the plugin sub-packages follow the shlib name. The plugins + are depending on a specific version of the lib and should be + installable in parallel together with multiple libs. + The plugins live in a versioned directory, so no conflicts can + happen. + +------------------------------------------------------------------- +Mon Feb 16 16:11:13 CET 2009 - ro@suse.de + +- added baselibs.conf + (libproxy0-32bit needed by libsoup-2_4-1-32bit) + +------------------------------------------------------------------- +Fri Feb 6 01:40:56 CET 2009 - vuntz@novell.com + +- Add missing Requires on libproxy0 for the subpackages. + +------------------------------------------------------------------- +Tue Feb 3 11:58:45 EST 2009 - hfiguiere@suse.de + +- Initial packaging. diff --git a/libproxy.spec b/libproxy.spec new file mode 100644 index 0000000..23f236d --- /dev/null +++ b/libproxy.spec @@ -0,0 +1,475 @@ +# +# spec file +# +# Copyright (c) 2023 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%define flavor @BUILD_FLAVOR@%nil +%if "%{flavor}" == "" +%define build_core_not_modules 1 +%else +%define name_suffix %{flavor} +%define dash - +%define build_core_not_modules 0 +%endif +%define build_mozjs 0 +%if 0%{?suse_version} > 1699 || 0%{?is_opensuse} +%bcond_without mono +%else +%bcond_with mono +%endif +%define _name libproxy +%if 0%{?build_snapshot} +%define _sourcename %{_name} +%else +%define _sourcename %{_name}-%{version} +%endif +%bcond_without python2 +%{!?_assemblies_dir: %global _assemblies_dir %(pkg-config cecil --variable=assemblies_dir)} +Name: libproxy%{?dash}%{?name_suffix} +Version: 0.4.18 +Release: 0 +Summary: Automatic proxy configuration management for applications +License: GPL-2.0-or-later AND LGPL-2.1-or-later +Group: Development/Libraries/C and C++ +URL: http://libproxy.github.io/libproxy/ +Source: https://github.com/libproxy/libproxy/releases/download/%{version}/%{_name}-%{version}.tar.xz +Source99: baselibs.conf +# PATCH-FIX-UPSTREAM libproxy-perl-cflags.patch dimstar@opensuse.org -- perl: Use ccflags from %Config for libproxy module compilation +Patch0: libproxy-perl-cflags.patch +BuildRequires: cmake +BuildRequires: gcc-c++ +# netcfg is needed for the test suite. +BuildRequires: netcfg +BuildRequires: pkgconfig +BuildRequires: zlib-devel +%if !%{build_core_not_modules} +%if ! 0%{?windows} +BuildRequires: NetworkManager-devel +BuildRequires: dbus-1-devel +# For directory ownership, but also because we want to rebuild the modules if +# the library changed +BuildRequires: libproxy1 = %{version} +BuildRequires: perl +BuildRequires: python-rpm-macros +BuildRequires: python3-devel +%if %{with python2} +BuildRequires: python-devel +%endif +BuildRequires: pkgconfig(duktape) +BuildRequires: pkgconfig(gio-2.0) >= 2.26 +BuildRequires: pkgconfig(gobject-2.0) +BuildRequires: pkgconfig(javascriptcoregtk-4.0) +%if 0%{?sle_version} > 150200 || 0%{?is_opensuse} +BuildRequires: libKF5ConfigCore5 +%endif +%if %{build_mozjs} +BuildRequires: pkgconfig(mozjs-38) +%endif +%if %{with mono} +BuildRequires: mono-devel +%endif +%endif +%endif + +%description +libproxy is a library that provides automatic proxy configuration +management. + +%if %build_core_not_modules +%package tools +Summary: An example application using libproxy +Group: System/Libraries +Requires: libproxy1 = %{version} + +%description tools +An example application that will use libproxy to give the results that can +be expected from other applications. It can be used to debug what would +happen in various cases. + +%package devel +Summary: Development files for libproxy, a library to do PAC/WPAD +Group: Development/Libraries/C and C++ +Requires: libproxy1 = %{version} + +%description devel +libproxy is a library that provides automatic proxy configuration +management. + +This subpackage contains header files for developing applications +that want to make use of libproxy. + +%package -n libproxy1 +Summary: Automatic proxy configuration management for applications +Group: System/Libraries +%if !%{build_mozjs} +Obsoletes: libproxy1-pacrunner-mozjs <= %{version} +%endif + +%description -n libproxy1 +libproxy is a library that provides automatic proxy configuration +management. + +Proxy autoconfiguration (PAC) requires JavaScript (which most +applications do not have), and determing the PAC script location +requires a WPAD protocol implementation, which complicate proxy +support. libproxy exists to abstract this issue and provides +an answer how to reach a certain network resource. + +%else + +%package -n libproxy1-config-gnome3 +Summary: Libproxy module for GNOME3 configuration +Group: System/Libraries +Requires: libproxy1 = %{version} +Provides: libproxy-gnome = %{version} +Obsoletes: libproxy-gnome < %{version} +%if 0%{?suse_version} +Recommends: libproxy1-pacrunner = %{version} +Suggests: libproxy1-pacrunner-duktape +Supplements: (libproxy1 and gnome-session-core) +%else +Requires: libproxy1-pacrunner = %{version} +%endif + +%description -n libproxy1-config-gnome3 + +A module to extend libproxy with capabilities to query GNOME about +proxy settings. + +%package -n libproxy1-config-kde +Summary: Libproxy module for KDE configuration +# We don't really need the library, but this package brings kreadconfig5 +Group: System/Libraries +Requires: libKF5ConfigCore5 +Requires: libproxy1 = %{version} +Provides: libproxy-kde = %{version} +Obsoletes: libproxy-kde < %{version} +# A generic KDE config loader was introduced in 0.4.12 +Obsoletes: libproxy1-config-kde4 < 0.4.12 +# The kde plugin requires 'qtpaths', which is part of libqt5-qtpaths in TW / libqt5-qttools in older releases +%if %{?suse_version} > 1320 +Requires: libqt5-qtpaths +%else +Requires: libqt5-qttools +%endif +%if 0%{?suse_version} +Recommends: libproxy1-pacrunner = %{version} +Suggests: libproxy1-pacrunner-duktape +Supplements: (libproxy1 and libkde4) +Supplements: (libproxy1 and plasma5-session) +%else +Requires: libproxy1-pacrunner = %{version} +%endif + +%description -n libproxy1-config-kde +A module to extend libproxy with capabilities to query KDE4 about proxy +settings. + +%package -n libproxy1-config-pacrunner +Summary: Libproxy module for PacRunner configuration +Group: System/Libraries +Requires: libproxy1 = %{version} + +%description -n libproxy1-config-pacrunner + +A module to extend libproxy with capabilities to query PacRunner about +proxy settings. + +%package -n libproxy1-pacrunner-mozjs +Summary: Libproxy module to support WPAD/PAC parsing via the Mozilla JavaScript Engine +Group: System/Libraries +Requires: libproxy1 = %{version} +# A virtual symbol to identify that this is a pacrunner. +Provides: libproxy1-pacrunner = %{version} +%if 0%{?suse_version} +Supplements: (libproxy1 and libmozjs185-1_0) +%endif + +%description -n libproxy1-pacrunner-mozjs +A module to extend libproxy with capabilities to pass addresses to a +WPAD/PAC script and have it find the correct proxy. + +%package -n libproxy1-pacrunner-duktape +Summary: Libproxy module to support WPAD/PAC parsing via the WebKit JavaScript Engine +Group: System/Libraries +Requires: libproxy1 = %{version} +# A virtual symbol to identify that this is a pacrunner. +Provides: libproxy1-pacrunner = %{version} +%if 0%{?suse_version} +Supplements: (libproxy1 and %(rpm --qf "%%{name}" -qf $(readlink -f %{_libdir}/libduktape.so))) +%endif + +%description -n libproxy1-pacrunner-duktape +A module to extend libproxy with capabilities to pass addresses to a +WPAD/PAC script and have it find the correct proxy. + +Relies on tuktape to do the javascript parsing + +%package -n libproxy1-pacrunner-webkit +Summary: Libproxy module to support WPAD/PAC parsing via the WebKit JavaScript Engine +Group: System/Libraries +Requires: libproxy1 = %{version} +# A virtual symbol to identify that this is a pacrunner. +Provides: libproxy1-pacrunner = %{version} +%if 0%{?suse_version} +Supplements: (libproxy1 and libjavascriptcoregtk-3_0-0) +%endif + +%description -n libproxy1-pacrunner-webkit +A module to extend libproxy with capabilities to pass addresses to a +WPAD/PAC script and have it find the correct proxy. + +%package -n libproxy1-networkmanager +Summary: Libproxy module for NetworkManager configuration +Group: System/Libraries +Requires: libproxy1 = %{version} +%if 0%{?suse_version} +Supplements: (libproxy1 and NetworkManager) +%endif + +%description -n libproxy1-networkmanager +A module to extend libproxy with capabilities to query NetworkManager +about network configuration changes. + +%package -n python3-libproxy +Summary: Python3 bindings for libproxy +Group: Development/Languages/Python +Requires: libproxy1 = %{version} +BuildArch: noarch + +%description -n python3-libproxy +libproxy is a library that provides automatic proxy configuration +management. + +This package contains the Python 3 bindings for libproxy. + +%package -n python-libproxy +Summary: Python bindings for libproxy +Group: Development/Languages/Python +Requires: libproxy1 = %{version} +BuildArch: noarch + +%description -n python-libproxy +libproxy is a library that provides automatic proxy configuration +management. + +This package contains the Python 2 bindings for libproxy. + +%package -n perl-Net-Libproxy +Summary: Perl bindings for libproxy +Group: Development/Languages/Perl +Requires: libproxy1 = %{version} +%if 0%{?perl_requires:1} +%{perl_requires} +%else +# For Fedora at least perl = perl_version does not work. +Requires: perl >= %{perl_version} +%endif + +%description -n perl-Net-Libproxy +libproxy is a library that provides automatic proxy configuration +management. + +This package contains the Perl for libproxy. + +%package -n libproxy-sharp +Summary: .Net bindings for libproxy +Group: Development/Languages/Mono +Requires: libproxy1 = %{version} + +%description -n libproxy-sharp +libproxy is a library that provides automatic proxy configuration +management. + +This package contains the Mono/.NET for libproxy. + +%endif %dnl build_core_not_modules + +%prep +%autosetup -n %{_sourcename} -p1 +mkdir build + +%build +cd build +export CXXFLAGS="%{optflags}" +export CFLAGS="%{optflags}" +%if 0%{?windows} +export CXXFLAGS="%{optflags} -fno-stack-protector -static-libgcc" +%endif +cmake \ +%if 0%{?windows} + -DCMAKE_TOOLCHAIN_FILE=../cmake/mingw32.cmake \ + -DBUILD_TESTING=False \ + -DWITH_DOTNET=OFF \ +%else + -DWITH_VALA=yes \ +%if %{with mono} + -DWITH_DOTNET=1 \ +%endif +%endif + -DCMAKE_INSTALL_PREFIX=%{_prefix} \ + -DBIN_INSTALL_DIR=%{_bindir} \ + -DLIB_INSTALL_DIR=%{_libdir} \ + -DMODULE_INSTALL_DIR=%{_libdir}/libproxy-%{version}/modules \ + -DLIBEXEC_INSTALL_DIR=%{_libexecdir}/libproxy-%{version} \ + -DPYTHON_SITEPKG_DIR=%{python_sitelib} \ + -DSHARE_INSTALL_PREFIX=%{_datadir} \ + -DINCLUDE_INSTALL_DIR=%{_includedir} \ + -DPERL_VENDORINSTALL=yes \ + -DBIPR=0 \ +%if %build_core_not_modules + -DWITH_DOTNET=OFF \ + -DWITH_PERL=OFF \ + -DWITH_PYTHON2=OFF \ + -DWITH_PYTHON3=OFF \ +%endif +%if %build_core_not_modules || (! 0%{?is_opensuse} && 0%{?sle_version} <= 150200) + -DWITH_KDE=OFF \ +%endif + -DCMAKE_BUILD_TYPE=RelWithDebInfo \ + -DCMAKE_INSTALL_CONFIG_NAME=RelWithDebInfo \ + -DWITH_WEBKIT3=ON \ + -DWITH_GNOME3=ON \ +.. +make VERBOSE=1 + +%install +cd build +make DESTDIR=%{buildroot} install + +# On Windows we also do not want to provide the static libraries. +%if 0%{?windows} +find %{buildroot}%{_libdir} -name '*.dll.a' -delete -print +rm %{buildroot}%{_libdir}/libmodman.dll +%endif + +%if %build_core_not_modules +# Build the basic directory structure for the modules so we can +# own the directories in the main library package +install -d %{buildroot}%{_libexecdir}/libproxy-%{version} +install -d %{buildroot}%{_libdir}/%{name}-%{version}/modules +%else +# remove files that are part of the core +rm -f %{buildroot}%{_includedir}/*.h +# Delete all files that exist in the base libproxy package +rm -f %{buildroot}%{_bindir}/proxy%{?windows:.exe} +rm -f %{buildroot}%{_libdir}/libproxy.* +rm -f %{buildroot}%{_libdir}/pkgconfig/libproxy-1.0.pc +rm -f %{buildroot}%{_datadir}/cmake/Modules/Findlibproxy.cmake +rm -f %{buildroot}%{_datadir}/vala/vapi/libproxy-1.0.vapi +%endif + +%check +cd build +make test + +%if %build_core_not_modules +%post -n libproxy1 -p /sbin/ldconfig + +%postun -n libproxy1 -p /sbin/ldconfig + +%files tools +%defattr(-, root, root) +%{_bindir}/proxy%{?windows:.exe} + +%files -n libproxy1 +%defattr(-, root, root) +%license COPYING +%doc README AUTHORS +%if ! 0%{?windows} +%{_libdir}/libproxy.so.* +%else +%{_libdir}/libproxy.dll +%endif +%dir %{_libexecdir}/libproxy-%{version} +%dir %{_libdir}/libproxy-%{version} +%dir %{_libdir}/libproxy-%{version}/modules + +%files devel +%defattr(-, root, root) +%{_includedir}/*.h +%if ! 0%{?windows} +%{_libdir}/*.so +%{_libdir}/pkgconfig/libproxy-1.0.pc +%{_datadir}/cmake/Modules/Findlibproxy.cmake +%dir %{_datadir}/vala +%dir %{_datadir}/vala/vapi +%{_datadir}/vala/vapi/libproxy-1.0.vapi +%endif + +%else +%if ! 0%{?windows} +%if 0%{?sle_version} > 150200 || 0%{?is_opensuse} +%files -n libproxy1-config-kde +%defattr(-, root, root) +%{_libdir}/libproxy-%{version}/modules/config_kde.so +%endif + +%files -n libproxy1-config-gnome3 +%defattr(-, root, root) +%{_libdir}/libproxy-%{version}/modules/config_gnome3.so +%{_libexecdir}/libproxy-%{version}/pxgsettings + +%files -n libproxy1-config-pacrunner +%{_libdir}/libproxy-%{version}/modules/config_pacrunner.so + +%files -n libproxy1-networkmanager +%defattr(-, root, root) +%{_libdir}/libproxy-%{version}/modules/network_networkmanager.so + +%files -n libproxy1-pacrunner-duktape +%defattr(-, root, root) +%{_libdir}/libproxy-%{version}/modules/pacrunner_duktape.so + +%files -n libproxy1-pacrunner-webkit +%defattr(-, root, root) +%{_libdir}/libproxy-%{version}/modules/pacrunner_webkit.so + +%if %{build_mozjs} +%files -n libproxy1-pacrunner-mozjs +%defattr(-, root, root) +%{_libdir}/libproxy-%{version}/modules/pacrunner_mozjs.so +%endif + +%if %{with python2} +%files -n python-libproxy +%defattr(-, root, root) +%{python_sitelib}/*.py +%endif + +%files -n python3-libproxy +%defattr(-, root, root) +%{python3_sitelib}/*.py + +%files -n perl-Net-Libproxy +%defattr(-,root,root) +%dir %{perl_vendorarch}/Net +%dir %{perl_vendorarch}/auto/Net +%dir %{perl_vendorarch}/auto/Net/Libproxy +%{perl_vendorarch}/Net/Libproxy.pm +%{perl_vendorarch}/auto/Net/Libproxy/Libproxy.so + +%if %{with mono} +%files -n libproxy-sharp +%defattr(-, root, root) +%{_assemblies_dir}/gac/libproxy-sharp +%{_assemblies_dir}/libproxy-sharp +%{_libdir}/pkgconfig/libproxy-sharp-1.0.pc +%endif +%endif +%endif + +%changelog