Sync from SUSE:SLFO:Main libproxy revision d2121dba6865dfac28a108bda1656b66

This commit is contained in:
Adrian Schröter 2024-05-03 15:30:32 +02:00
commit 54027f0158
7 changed files with 1429 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -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

4
_multibuild Normal file
View File

@ -0,0 +1,4 @@
<multibuild>
<package>plugins</package>
</multibuild>

13
baselibs.conf Normal file
View File

@ -0,0 +1,13 @@
libproxy1
#libproxy1-config-gnome
# supplements "packageand(libproxy1-<targettype>:libproxy1-config-gnome)"
libproxy1-config-gnome3
supplements "packageand(libproxy1-<targettype>:libproxy1-config-gnome3)"
libproxy1-config-kde
supplements "packageand(libproxy1-<targettype>:libproxy1-config-kde)"
#libproxy1-pacrunner-mozjs
# supplements "packageand(libproxy1-<targettype>:libproxy1-config-mozjs)"
libproxy1-networkmanager
supplements "packageand(libproxy1-<targettype>:libproxy1-config-networkmanager)"
libproxy1-pacrunner-webkit
supplements "packageand(libproxy1-<targettype>:libproxy1-config-webkit)"

BIN
libproxy-0.4.18.tar.xz (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,47 @@
From 4d7b2a237b206492cd63d0e96c0c1caf89902352 Mon Sep 17 00:00:00 2001
From: Fabian Vogt <fvogt@suse.de>
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 "")

864
libproxy.changes Normal file
View File

@ -0,0 +1,864 @@
-------------------------------------------------------------------
Thu Jun 1 12:43:25 UTC 2023 - Frederic Crozat <fcrozat@suse.com>
- Only build mono support on openSUSE, not SLE nor SUSE ALP.
-------------------------------------------------------------------
Tue Jun 21 08:50:02 UTC 2022 - Dominique Leuenberger <dimstar@opensuse.org>
- 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 <dimstar@opensuse.org>
- 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 <dimstar@opensuse.org>
- Add libproxy-python-310.patch: Detect python 3.10.
-------------------------------------------------------------------
Thu Feb 10 00:11:21 UTC 2022 - Bjørn Lie <bjorn.lie@gmail.com>
- 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 <dimstar@opensuse.org>
- 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 <dimstar@opensuse.org>
- 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 <dimstar@opensuse.org>
- Add 147.patch: python bindings: fix "TypeError: _argtypes_ must
be a sequence of types".
-------------------------------------------------------------------
Fri Dec 4 11:11:52 UTC 2020 - Dominique Leuenberger <dimstar@opensuse.org>
- 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 <mgorse@suse.com>
- 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 <yfjiang@suse.com>
- 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 <dimstar@opensuse.org>
- 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 <tchvatal@suse.com>
- Remove few SLE11 conditions
- Fix build without python2 available
-------------------------------------------------------------------
Wed Dec 12 16:08:37 UTC 2018 - Dominique Leuenberger <dimstar@opensuse.org>
- Convert package from multispec to multibuild.
-------------------------------------------------------------------
Fri Oct 5 12:51:19 UTC 2018 - Dominique Leuenberger <dimstar@opensuse.org>
- 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 <dmacvicar@novell.com>.
-------------------------------------------------------------------
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.

475
libproxy.spec Normal file
View File

@ -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