summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeroen Roovers <jer@gentoo.org>2019-05-29 11:31:02 +0200
committerJeroen Roovers <jer@gentoo.org>2019-05-29 11:31:49 +0200
commit01cb1df8882b9fbac492b6fbd28a6848f5012194 (patch)
tree6807c0dd8cae4380ca08e14a00bbe33b650355e0 /net-misc/apt-cacher-ng
parentnet-misc/mico: flex+bison is BDEPEND (EAPI 7) (diff)
downloadgentoo-01cb1df8882b9fbac492b6fbd28a6848f5012194.tar.gz
gentoo-01cb1df8882b9fbac492b6fbd28a6848f5012194.tar.bz2
gentoo-01cb1df8882b9fbac492b6fbd28a6848f5012194.zip
net-misc/apt-cacher-ng: Fix CFLAGS/LDFLAGS/openssl
Package-Manager: Portage-2.3.67, Repoman-2.3.13 Bug: https://bugs.gentoo.org/show_bug.cgi?id=686608 Signed-off-by: Jeroen Roovers <jer@gentoo.org>
Diffstat (limited to 'net-misc/apt-cacher-ng')
-rw-r--r--net-misc/apt-cacher-ng/apt-cacher-ng-3.2_p2-r1.ebuild (renamed from net-misc/apt-cacher-ng/apt-cacher-ng-3.2_p2.ebuild)9
-rw-r--r--net-misc/apt-cacher-ng/files/apt-cacher-ng-3.2-flags.patch112
2 files changed, 118 insertions, 3 deletions
diff --git a/net-misc/apt-cacher-ng/apt-cacher-ng-3.2_p2.ebuild b/net-misc/apt-cacher-ng/apt-cacher-ng-3.2_p2-r1.ebuild
index 97f303d5634c..c66c11d82fa8 100644
--- a/net-misc/apt-cacher-ng/apt-cacher-ng-3.2_p2.ebuild
+++ b/net-misc/apt-cacher-ng/apt-cacher-ng-3.2_p2-r1.ebuild
@@ -28,7 +28,7 @@ COMMON_DEPEND="
sys-apps/systemd
)
"
-DEPEND="
+BDEPEND="
${COMMON_DEPEND}
dev-util/cmake
>sys-devel/gcc-4.8
@@ -42,6 +42,7 @@ RDEPEND="
"
PATCHES=(
"${WORKDIR}"/debian/patches/debian-changes
+ "${FILESDIR}"/${PN}-3.2-flags.patch
)
S=${WORKDIR}/${P/_*}
@@ -60,7 +61,9 @@ pkg_setup() {
}
src_configure(){
- mycmakeargs=( "-DCMAKE_INSTALL_PREFIX=/usr" )
+ mycmakeargs=(
+ "-DCMAKE_INSTALL_PREFIX=/usr"
+ )
if use fuse; then
mycmakeargs+=( "-DHAVE_FUSE_25=yes" )
else
@@ -76,7 +79,7 @@ src_configure(){
}
src_install() {
- pushd ${BUILD_DIR} || die
+ pushd "${BUILD_DIR}" || die
dosbin ${PN}
if use fuse; then
dobin acngfs
diff --git a/net-misc/apt-cacher-ng/files/apt-cacher-ng-3.2-flags.patch b/net-misc/apt-cacher-ng/files/apt-cacher-ng-3.2-flags.patch
new file mode 100644
index 000000000000..9a909dcc0578
--- /dev/null
+++ b/net-misc/apt-cacher-ng/files/apt-cacher-ng-3.2-flags.patch
@@ -0,0 +1,112 @@
+- Rip out additional CFLAGS/LDFLAGS
+- Drop osslcompat (bug #686608)
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -106,16 +106,6 @@
+ _append(ACNG_CXXFLAGS -fvisibility-inlines-hidden)
+ endif()
+
+-foreach(linkarg -Wl,--as-needed -Wl,-O1 -Wl,--discard-all -Wl,--no-undefined -Wl,--build-id=sha1 -Wl,-fuse-ld=gold -Wl,--threads)
+- STRING(REGEX REPLACE "=|-|," "" optname "${linkarg}")
+- set(CMAKE_REQUIRED_FLAGS "${linkarg}")
+- CHECK_CXX_COMPILER_FLAG("" "LD_${optname}")
+- if(LD_${optname})
+- _append(CMAKE_EXE_LINKER_FLAGS ${linkarg})
+- endif()
+- set(CMAKE_REQUIRED_FLAGS "")
+-endforeach(linkarg)
+-
+ option(USE_SSL "Use OpenSSL library for TLS and other crypto functionality" on)
+
+ IF(CMAKE_SYSTEM MATCHES "Darwin")
+@@ -134,14 +124,6 @@
+ if(CMAKE_BUILD_TYPE MATCHES Debug)
+ set(USE_LTO_DEFAULT off)
+ _append(ACNG_COMPFLAGS -DDEBUG)
+-else()
+- set(CMAKE_REQUIRED_FLAGS "-Wl,--gc-sections")
+- CHECK_CXX_COMPILER_FLAG("-Os -fdata-sections -ffunction-sections -Wl,--gc-sections" GC_SECTIONS)
+- if(GC_SECTIONS)
+- _append(ACNG_COMPFLAGS -fdata-sections -ffunction-sections)
+- _append(CMAKE_EXE_LINKER_FLAGS -Wl,--gc-sections)
+- endif()
+- set(CMAKE_REQUIRED_FLAGS "")
+ endif()
+
+ # XXX: could use the modern macros instead but they were not available in CMake 2.x
+@@ -167,23 +149,6 @@
+ endif()
+ endif()
+
+-option(USE_LTO "Enable Link Time Optimization (requires modern compilers)" ${USE_LTO_DEFAULT})
+-
+-if(USE_LTO)
+- SET(LDFLAGS_BACKUP "${CMAKE_EXE_LINKER_FLAGS}")
+- SET(CMAKE_REQUIRED_FLAGS "${ACNG_COMPFLAGS} -flto")
+- _append(CMAKE_EXE_LINKER_FLAGS -flto)
+- CHECK_CXX_SOURCE_COMPILES("${CXX11_TESTSRC}" HAS_LTO)
+- if(HAS_LTO)
+- SET(ACNG_COMPFLAGS ${CMAKE_REQUIRED_FLAGS})
+- else()
+- SET(CMAKE_REQUIRED_FLAGS "${ACNG_COMPFLAGS}")
+- SET(CMAKE_EXE_LINKER_FLAGS "${LDFLAGS_BACKUP}")
+- message(WARNING "Link Time Optimization support broken, disabling it.")
+- endif()
+-endif()
+-message("-- LTO use: ${USE_LTO}")
+-
+ FIND_LIBRARY(HAVE_SOCKETLIB socket) # separate socket lib looks like Solaris-like environment
+ if(HAVE_SOCKETLIB)
+ LIST(APPEND BaseNetworkLibs socket nsl)
+@@ -378,7 +343,6 @@
+
+ CONFIGURE_FILE("${CMAKE_SOURCE_DIR}/include/acsyscap.h.in" "${CMAKE_BINARY_DIR}/acsyscap.h")
+
+-add_subdirectory(oldssl-workaround)
+ add_subdirectory(client)
+ add_subdirectory(fs)
+ add_subdirectory(source)
+@@ -415,3 +379,14 @@
+ CFGDIR: ${CFGDIR}
+ SBINDIR: ${SBINDIR}
+ ")
++
++MESSAGE(STATUS "<<< Gentoo configuration >>>
++Build type ${CMAKE_BUILD_TYPE}
++Install path ${CMAKE_INSTALL_PREFIX}
++Compiler flags:
++C ${CMAKE_C_FLAGS}
++C++ ${CMAKE_CXX_FLAGS}
++Linker flags:
++Executable ${CMAKE_EXE_LINKER_FLAGS}
++Module ${CMAKE_MODULE_LINKER_FLAGS}
++Shared ${CMAKE_SHARED_LINKER_FLAGS}\n")
+--- a/fs/CMakeLists.txt
++++ b/fs/CMakeLists.txt
+@@ -20,7 +20,7 @@
+ list(APPEND fsSRCS ../source/aclogger.cc)
+ endif()
+
+- ADD_EXECUTABLE(acngfs ${fsSRCS} $<TARGET_OBJECTS:osslcompat>)
++ ADD_EXECUTABLE(acngfs ${fsSRCS})
+ SET_TARGET_PROPERTIES(acngfs PROPERTIES COMPILE_FLAGS "${ACNG_COMPFLAGS} ${ACNG_CXXFLAGS} ${acngfs_cflags}")
+ INSTALL(TARGETS acngfs DESTINATION ${LIBDIR})
+ if(HAVE_DLOPEN)
+--- a/source/CMakeLists.txt
++++ b/source/CMakeLists.txt
+@@ -4,12 +4,12 @@
+ ADD_LIBRARY(acngstuff OBJECT ${SHAREDSRCS})
+ SET_TARGET_PROPERTIES(acngstuff PROPERTIES COMPILE_FLAGS "${ACNG_COMPFLAGS} ${ACNG_CXXFLAGS} ${CFLAGS_DAEMON} ${CFLAGS_PTHREAD}")
+
+-ADD_EXECUTABLE(apt-cacher-ng $<TARGET_OBJECTS:acngstuff> ${ACNG_SRCS} apt-cacher.cc $<TARGET_OBJECTS:osslcompat>)
++ADD_EXECUTABLE(apt-cacher-ng $<TARGET_OBJECTS:acngstuff> ${ACNG_SRCS} apt-cacher.cc)
+ TARGET_LINK_LIBRARIES(apt-cacher-ng ${BaseNetworkLibs} ${ServerLibs} ${CompLibs} ${SSL_LIB_LIST} ${LDFLAGS_DAEMON} ${CMAKE_THREAD_LIBS_INIT} ${EXTRA_LIBS_ACNG})
+ SET_TARGET_PROPERTIES(apt-cacher-ng PROPERTIES COMPILE_FLAGS "${ACNG_COMPFLAGS} ${ACNG_CXXFLAGS} ${CFLAGS_DAEMON} ${CFLAGS_PTHREAD}")
+ INSTALL(TARGETS apt-cacher-ng DESTINATION ${SBINDIR})
+
+-ADD_EXECUTABLE(acngtool acngtool.cc $<TARGET_OBJECTS:acngstuff> $<TARGET_OBJECTS:osslcompat>)
++ADD_EXECUTABLE(acngtool acngtool.cc $<TARGET_OBJECTS:acngstuff>)
+ SET_TARGET_PROPERTIES(acngtool PROPERTIES COMPILE_FLAGS "${ACNG_COMPFLAGS} ${ACNG_CXXFLAGS} ${CFLAGS_PTHREAD}")
+ TARGET_LINK_LIBRARIES(acngtool ${BaseNetworkLibs} ${CompLibs} ${SSL_LIB_LIST} ${CMAKE_THREAD_LIBS_INIT} ${EXTRA_LIBS_ACNGTOOL})
+ INSTALL(TARGETS acngtool DESTINATION ${LIBDIR})