(define-module (glicid packages networking)
  #:use-module ((gnu packages networking) #:prefix gnu:)
  #:use-module (guix build-system gnu)
  #:use-module (guix download)
  #:use-module ((guix licenses) #:prefix license:)
  #:use-module (guix packages)
)

(define-public libecap
  (package
    (name "libecap")
    (version "1.0.0")
    (source
      (origin
        (method url-fetch)
        (uri (string-append "https://www.e-cap.org/archive/libecap-" version ".tar.gz"))
        (sha256 (base32 "1gn44230z3n5vbwf1lb8ninjmhngc96criy6vc1qj8adw19bpiv4"))
      )
    )
    (build-system gnu-build-system)
    (synopsis "eCAP is a software interface that allows a network application, such as an HTTP proxy or an ICAP server, to outsource content analysis and adaptation to a loadable module.")
    (description "eCAP is a software interface that allows a network application, such as an HTTP proxy or an ICAP server, to outsource content analysis and adaptation to a loadable module.")
    (home-page "https://www.e-cap.org/")
    (license license:gpl3+)
  )
)


(define-public squid
  (package
    (inherit gnu:squid)
    (name "squid")
    (version "5.5")
    (source
      (origin
        (method url-fetch)
        (uri (string-append "http://www.squid-cache.org/Versions/v5/squid-" version ".tar.xz"))
        (sha256 (base32 "0v0h949l4wd1hl87a8wkk1fkvj8j44wifyxi9myxdgbnci6lh7af"))
      )
    )
    (inputs
     `(("libecap", libecap)
       ,@(package-inputs gnu:squid)))
    (arguments
      '(
        #:configure-flags (list
        "--disable-arch-native" "--enable-icmp" "--enable-delay-pools" "--enable-ecap" "--enable-follow-x-forwarded-for"
        "--enable-auth" "--enable-auth-basic" "--enable-auth-negotiate" "--enable-auth-ntlm"
        "--enable-log-daemon-helpers"
        )
        #:phases
       (modify-phases %standard-phases
         (add-before 'build 'fix-true-path
           (lambda* (#:key inputs #:allow-other-keys)
             (substitute* "test-suite/testheaders.sh"
               (("/bin/true") (search-input-file inputs "/bin/true"))
              )
            )
          )
        )
      )
    )
  )
)

(define-public openvswitch-2.17
  (package
    (inherit gnu:openvswitch)
    (name "openvswitch")
    (version "2.17.2")
    (source
      (origin
        (method url-fetch)
        (uri (string-append "https://www.openvswitch.org/releases/openvswitch-" version ".tar.gz"))
        (sha256 (base32 "0sada2a9x9x7x6a45l7iklqh29wsbrdvvgpkyz5cpf5d5fs0sbka"))
      )
    )
  )
)
