net-misc/apt-cacher-ng: Version 3.3_p1
authorJeroen Roovers <jer@gentoo.org>
Wed, 13 Nov 2019 10:02:56 +0000 (11:02 +0100)
committerJeroen Roovers <jer@gentoo.org>
Wed, 13 Nov 2019 10:08:25 +0000 (11:08 +0100)
Package-Manager: Portage-2.3.79, Repoman-2.3.18
Signed-off-by: Jeroen Roovers <jer@gentoo.org>
net-misc/apt-cacher-ng/Manifest
net-misc/apt-cacher-ng/apt-cacher-ng-3.3_p1.ebuild [new file with mode: 0644]
net-misc/apt-cacher-ng/files/apt-cacher-ng-3.3-flags.patch [new file with mode: 0644]

index 75ce6eb025d12b7d9a158b3128636deecc4a2054..1684579e92922732590823105ba7345448faf342 100644 (file)
@@ -1,2 +1,4 @@
 DIST apt-cacher-ng_3.2-2.debian.tar.xz 48740 BLAKE2B ab2f6349aa66f39b778f346827767514761eeb8977d69a55940d7dd4c738b54ba20a9725387f769edf2cce454588746bc10361d4a174ed380a431a6ecf6b096d SHA512 e5299432b91cdf6cb51934fcc440e62d24c1b4849ad3a0c3a5e47a256c874ebb85c7ba56b97da27c2e03e0621b4ae42b69592440d521e718f4f8725a6ff379d4
 DIST apt-cacher-ng_3.2.orig.tar.xz 319036 BLAKE2B 576fc7a409556d34ee702edd57527c9c35eb033d0e8c8ea4f7b8a8a2dae86f75cd1ca3a7fb0e02845e70d6f8715692b638ff9d574ce1664b67fec9247b60fbc0 SHA512 7dfee4a8f38e7c5251c761a5faae063926c5001fe0b97136d938cdbff907e97fb0a20b89dcf685645a518e92be04fe5660d840e738960b4465408f04fe532cae
+DIST apt-cacher-ng_3.3-1.debian.tar.xz 48472 BLAKE2B 9d7f531d84f470ada8236a5603d06e45d9b7acb7bdeb8bd639c250724013a0552819cabe67f1cee0a1f337d7725429932bdf179afae307242e4d45081854614e SHA512 44a241791b92d6b9231caff8296ed1d9536ffcdc18263451d662da01f1b257b8ea4741e5cfb09c5cd90986c46fe1e91b3110379442d9ed20434e696c6cf645aa
+DIST apt-cacher-ng_3.3.orig.tar.xz 320884 BLAKE2B c4bda8de90f76e7cb8335fdb758571db030c1298881afceb865f84e506aeb82e4db69c5c091debfdcf6c85bc8d4e703b75725ae6b06f2e412ba4b4362d568a05 SHA512 01a09bc13d2a9d24ee3012a21ae954362715bc0b69ef021a3446ad7d78157209aaaf941fbb02b0e5323bfb0337a1e3d6450c07b680d42f7bf93855d7ac65c60f
diff --git a/net-misc/apt-cacher-ng/apt-cacher-ng-3.3_p1.ebuild b/net-misc/apt-cacher-ng/apt-cacher-ng-3.3_p1.ebuild
new file mode 100644 (file)
index 0000000..a2ab726
--- /dev/null
@@ -0,0 +1,129 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit cmake-utils toolchain-funcs user
+
+DESCRIPTION="Yet another caching HTTP proxy for Debian/Ubuntu software packages"
+HOMEPAGE="
+       https://www.unix-ag.uni-kl.de/~bloch/acng/
+       https://packages.qa.debian.org/a/apt-cacher-ng.html
+"
+LICENSE="BSD-4 ZLIB public-domain"
+SLOT="0"
+SRC_URI="
+       mirror://debian/pool/main/a/${PN}/${PN}_${PV/_*}.orig.tar.xz
+       mirror://debian/pool/main/a/${PN}/${PN}_${PV/_p/-}.debian.tar.xz
+"
+
+KEYWORDS="~amd64 ~x86"
+IUSE="doc fuse systemd tcpd"
+
+COMMON_DEPEND="
+       app-arch/bzip2
+       app-arch/xz-utils
+       dev-libs/openssl:0=
+       sys-libs/zlib
+       systemd? (
+               sys-apps/systemd
+       )
+"
+BDEPEND="
+       ${COMMON_DEPEND}
+       dev-util/cmake
+       >sys-devel/gcc-4.8
+       virtual/pkgconfig
+"
+RDEPEND="
+       ${COMMON_DEPEND}
+       dev-lang/perl
+       fuse? ( sys-fs/fuse )
+       tcpd? ( sys-apps/tcp-wrappers )
+"
+PATCHES=(
+       "${FILESDIR}"/${PN}-3.3-flags.patch
+)
+S=${WORKDIR}/${P/_*}
+
+pkg_pretend() {
+       if [[ $(gcc-major-version) -lt 4 ]]; then
+               die "GCC 4.8 or greater is required but you have $(gcc-major-version).$(gcc-minor-version)"
+       elif [[ $(gcc-major-version) = 4 ]] && [[ $(gcc-minor-version) -lt 8 ]]; then
+               die "GCC 4.8 or greater is required but you have $(gcc-major-version).$(gcc-minor-version)"
+       fi
+}
+
+pkg_setup() {
+       # add new user & group for daemon
+       enewgroup ${PN}
+       enewuser ${PN} -1 -1 -1 ${PN}
+}
+
+src_configure(){
+       mycmakeargs=(
+               "-DCMAKE_INSTALL_PREFIX=/usr"
+       )
+       if use fuse; then
+               mycmakeargs+=( "-DHAVE_FUSE_25=yes" )
+       else
+               mycmakeargs+=( "-DHAVE_FUSE_25=no" )
+       fi
+       if use tcpd; then
+               mycmakeargs+=( "-DHAVE_LIBWRAP=yes" )
+       else
+               mycmakeargs+=( "-DHAVE_LIBWRAP=no" )
+       fi
+
+       cmake-utils_src_configure
+}
+
+src_install() {
+       pushd "${BUILD_DIR}" || die
+       dosbin ${PN} acngtool
+       dolib.so libsupacng.so
+       if use fuse; then
+               dobin acngfs
+       fi
+       popd || die
+
+       newinitd "${FILESDIR}"/initd-r1 ${PN}
+       newconfd "${FILESDIR}"/confd ${PN}
+
+       insinto /etc/logrotate.d
+       newins "${FILESDIR}"/logrotate ${PN}
+
+       doman doc/man/${PN}*
+       if use fuse; then
+               doman doc/man/acngfs*
+       fi
+
+       # Documentation
+       dodoc doc/README TODO VERSION INSTALL ChangeLog
+       if use doc; then
+               dodoc doc/*.pdf
+
+               docinto html
+               dodoc doc/html/*
+
+               find conf -name '*.gz' -exec gzip -d {} \; || die
+               docinto examples/conf
+               dodoc conf/*
+       fi
+
+       # perl daily cron script
+       dosbin scripts/expire-caller.pl
+       exeinto /etc/cron.daily
+       newexe "${FILESDIR}"/cron.daily ${PN}
+
+       # default configuration
+       insinto /etc/${PN}
+       newins "${BUILD_DIR}"/conf/acng.conf ${PN}.conf
+       doins $( echo conf/* | sed 's|conf/acng.conf.in||g' )
+
+       keepdir /var/log/${PN}
+       # Some directories must exists
+       keepdir /var/log/${PN}
+       fowners -R ${PN}:${PN} \
+               /etc/${PN} \
+               /var/log/${PN}
+}
diff --git a/net-misc/apt-cacher-ng/files/apt-cacher-ng-3.3-flags.patch b/net-misc/apt-cacher-ng/files/apt-cacher-ng-3.3-flags.patch
new file mode 100644 (file)
index 0000000..a2f43a4
--- /dev/null
@@ -0,0 +1,75 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -14,7 +14,7 @@
+ set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR})
+ set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR})
+-#set(CMAKE_SKIP_BUILD_RPATH on) # no -rdynamic needed ever
++set(CMAKE_SKIP_BUILD_RPATH on) # no -rdynamic needed ever
+ INCLUDE(CheckIncludeFiles) 
+ INCLUDE(CheckCXXSourceCompiles)
+@@ -27,7 +27,7 @@
+ INCLUDE(GNUInstallDirs)
+ IF(NOT DEFINED(CMAKE_INSTALL_PREFIX))
+-set(CMAKE_INSTALL_PREFIX "/usr/local" CACHE STRING "Target file space")
++#_cmake_modify_IGNORE set(CMAKE_INSTALL_PREFIX "/usr/local" CACHE STRING "Target file space")
+ ENDIF()
+ IF(NOT DEFINED(LIBDIR))
+       set(LIBDIR "${CMAKE_INSTALL_PREFIX}/lib/${PACKAGE}" CACHE STRING "Location of ${PACKAGE} extra files")
+@@ -94,23 +94,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)
+-      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)
+-
+-set(CMAKE_REQUIRED_FLAGS "-Wl,-fuse-ld=gold -Wl,--threads")
+-CHECK_CXX_COMPILER_FLAG("" LD_MULTITHREADED)
+-if(LD_MULTITHREADED)
+-      _append(CMAKE_EXE_LINKER_FLAGS "-Wl,-fuse-ld=gold -Wl,--threads")
+-endif()
+-set(CMAKE_REQUIRED_FLAGS "")
+-
+ option(USE_SSL "Use OpenSSL library for TLS and other crypto functionality" on)
+ IF(CMAKE_SYSTEM MATCHES "Darwin")
+@@ -132,15 +115,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)
+-           _append(CMAKE_SHARED_LINKER_FLAGS -Wl,--gc-sections)
+-   endif()
+-   set(CMAKE_REQUIRED_FLAGS "")
+ endif()
+ option(USE_LTO "Enable Link Time Optimization (requires modern compilers)" ${USE_LTO_DEFAULT})
+@@ -385,3 +359,14 @@
+ LIBDIR: ${LIBDIR}
+ AVAHIDIR: ${AVAHIDIR}
+ ")
++
++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")