Content-Security-Policy: default-src 'none'
Content-Type: text/plain; charset=UTF-8
Content-Length: 4354
Content-Disposition: inline; filename="gsasl.scm"
Last-Modified: Tue, 03 Dec 2024 12:31:54 GMT
Expires: Fri, 01 Dec 2034 12:31:54 GMT
ETag: "a796f9aa8262b05d3011664e3e046ba39a179f88"

;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.

(define-module (gnu packages gsasl)
  #:use-module (gnu packages)
  #:use-module (gnu packages compression)
  #:use-module (gnu packages libidn)
  #:use-module (gnu packages gnupg)
  #:use-module (gnu packages nettle)
  #:use-module (gnu packages kerberos)
  #:use-module (gnu packages tls)
  #:use-module ((guix licenses) #:prefix license:)
  #:use-module (guix packages)
  #:use-module (guix download)
  #:use-module (guix build-system gnu))

(define-public libntlm
  (package
    (name "libntlm")
    (version "1.5")
    (source (origin
              (method url-fetch)
              (uri (string-append "https://www.nongnu.org/libntlm/releases/"
                                  "libntlm-" version ".tar.gz"))
              (sha256
               (base32
                "1gcvv7f9rggpxay81qv6kw5hr6gd4qiyzkbwhzz02fx9jvv9kmsk"))))
    (build-system gnu-build-system)
    (synopsis "Library that implements NTLM authentication")
    (description
     "Libntlm is a library that imple<pre>
# GNU Guix --- Functional package management for GNU
# Copyright © 2023 Ludovic Courtès &lt;ludo@gnu.org&gt;
#
# This file is part of GNU Guix.
#
# GNU Guix is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or (at
# your option) any later version.
#
# GNU Guix is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GNU Guix.  If not, see &lt;http://www.gnu.org/licenses/&gt;.

#
# Test the &apos;guix refresh&apos; command-line utility.
#

guix refresh --version

manifest=&quot;t-guix-refresh-manifest-$$.scm&quot;
module_dir=&quot;t-guix-refresh-modules-$$&quot;
trap &apos;rm -f &quot;$manifest&quot;; rm -rf &quot;$module_dir&quot;&apos; EXIT

# Tell the &apos;test&apos; updater what to simulate.
export GUIX_TEST_UPDATER_TARGETS
idutils_version=&quot;$(guix package -A ^idutils$ | cut -f2)&quot;
GUIX_TEST_UPDATER_TARGETS=&apos;
  ((&quot;guile&quot; &quot;3&quot; ((&quot;12.5&quot; &quot;file:///dev/null&quot;)
                 (&quot;1.6.4&quot; &quot;file:///dev/null&quot;)))
   (&quot;libreoffice&quot; &quot;&quot; ((&quot;1.0&quot; &quot;file:///dev/null&quot;)))
   (&quot;idutils&quot; &quot;&quot; ((&quot;&apos;$idutils_version&apos;&quot; &quot;file:///dev/null&quot;)))
   (&quot;the-test-package&quot; &quot;&quot; ((&quot;5.5&quot; &quot;file://&apos;$PWD/$module_dir&apos;/source&quot;
                                   (&quot;grep&quot; &quot;sed&quot; &quot;libreoffice&quot;)))))&apos;

# No newer version available.
guix refresh -t test idutils	# XXX: should return non-zero?
case &quot;$(guix refresh -t test idutils 2&gt;&amp;1)&quot; in
    *&quot;$idutils_version&quot;*&quot;already the latest version&quot;*) true;;
    *) false;;
esac
guix refresh -t test libreoffice # XXX: should return non-zero?
case &quot;$(guix refresh -t test libreoffice 2&gt;&amp;1)&quot; in
    *&quot;greater than the latest known version&quot;*&quot;1.0&quot;*) true;;
    *) false;;
esac

# Various ways to specify packages.
cat &gt; &quot;$manifest&quot; &lt;&lt;EOF
(specifications-&gt;manifest (list &quot;guile@3.0&quot;))
EOF
default_IFS=&quot;$IFS&quot;
IFS=_
for spec in &quot;guile&quot;					\
	    &quot;guile@3.0&quot;					\
	    &quot;-e_(@ (gnu packages guile) guile-3.0)&quot;	\
	    &quot;-m_$manifest&quot;				\
	    &quot;-r_guile&quot;					\
	    &quot;-s_core&quot;
do
    guix refresh -t test $spec
    case &quot;$(guix refresh -t test $spec 2&gt;&amp;1)&quot; in
	*&quot;would be upgraded&quot;*&quot;12.5&quot;*)
	    true;;
	*)
	    false;;
    esac
done
IFS=&quot;$default_IFS&quot;

# Actually updating.
mkdir &quot;$module_dir&quot;
echo hello &gt; &quot;$module_dir/source&quot;
cat &gt; &quot;$module_dir/sample.scm&quot;&lt;&lt;EOF
(define-module (sample)
  #:use-module (guix packages)
  #:use-module (guix download)
  #:use-module (gnu packages base))

(define-public my-thing
  (package
    (inherit hello)
    (name &quot;the-test-package&quot;)
    (version &quot;4.3&quot;)
    (source (origin
              (method url-fetch)
              (uri (string-append &quot;mirror://gnu/hello/hello-&quot; version
                                  &quot;.tar.gz&quot;))
              (sha256
               (base32
                &quot;086vqwk2wl8zfs47sq2xpjc9k066ilmb8z6dn0q6ymwjzlm196cd&quot;))))
    (inputs (list coreutils tar))
    (properties &apos;((updater-ignored-inputs . (&quot;libreoffice&quot;))))))
EOF
guix refresh -t test -L &quot;$module_dir&quot; the-test-package
guix refresh -t test -L &quot;$module_dir&quot; the-test-package -u \
     --keyring=&quot;$module_dir/keyring.kbx&quot;  # so we don&apos;t create $HOME/.config
grep &apos;version &quot;5.5&quot;&apos; &quot;$module_dir/sample.scm&quot;
grep &quot;$(guix hash -H sha256 -f nix-base32 &quot;$module_dir/source&quot;)&quot; &quot;$module_dir/sample.scm&quot;
grep &apos;(inputs (list grep sed))&apos; &quot;$module_dir/sample.scm&quot;

# Specifying a target version.
guix refresh -t test guile=2.0.0 # XXX: should return non-zero?
case &quot;$(guix refresh -t test guile=2.0.0 2&gt;&amp;1)&quot; in
    *&quot;failed to find&quot;*&quot;2.0.0&quot;*) true;;
    *) false;;
esac

guix refresh -t test guile --target-version=2.0.0 # XXX: should return non-zero?
case &quot;$(guix refresh -t test guile --target-version=2.0.0 2&gt;&amp;1)&quot; in
    *&quot;failed to find&quot;*&quot;2.0.0&quot;*) true;;
    *) false;;
esac

for spec in &quot;guile=1.6.4&quot; &quot;guile@3=1.6.4&quot;
do
    guix refresh -t test &quot;$spec&quot;
    case &quot;$(guix refresh -t test &quot;$spec&quot; 2&gt;&amp;1)&quot; in
	*&quot;would be downgraded&quot;*&quot;1.6.4&quot;*) true;;
	*) false;;
    esac
done

# Listing updaters.  This should work whether or not networking is available.
guix refresh --list-updaters
</pre>
</div></div> <!-- class=content -->
                         <div class=footer>generated by
                             <a href="https://git.zx2c4.com/cgit/about/">
                                 cgit
                             </a>
                         </div>
                        </div> <!-- id=cgit -->
</body>
</html>
