# -*- Mode:bash; c-file-style:"gnu"; indent-tabs-mode:nil -*- */
#
# Copyright (C) 2015-2024, The University of Memphis,
#                          Arizona Board of Regents,
#                          Regents of the University of California.
#
# This file is part of Mini-NDN.
# See AUTHORS.md for a complete list of Mini-NDN authors and contributors.
#
# Mini-NDN 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.
#
# Mini-NDN 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 Mini-NDN, e.g., in COPYING.md file.
# If not, see <http://www.gnu.org/licenses/>.

# THIS FILE IS MEANT TO PROVIDE A QUICK SHORTCUT TO INSTALLING RELEASES OF NDN DEPENDENCIES
# RELEASED IN JULY AND AUGUST OF 2024. REPOSITORIES WHICH HAVE NOT RECEIVED A MAJOR RELEASE
# ARE INSTEAD GIVEN FIXED COMMITS.

CXX_RELEASE="ndn-cxx-0.9.0"
NFD_RELEASE="NFD-24.07"
PSYNC_RELEASE="0.5.0"
NLSR_RELEASE="NLSR-24.08"
TOOLS_RELEASE="ndn-tools-24.07"
TRAFFIC_RELEASE="9bec15ac63ae2ac225c4e514daa9fc1366889d62"
INFOEDIT_RELEASE="cecfe583f5d2df974f5cbd50996f91b9d321be99"