diff --git a/.github/workflows/build_test.yml b/.github/workflows/build_test.yml
deleted file mode 100644
index eba3f30d64..0000000000
--- a/.github/workflows/build_test.yml
+++ /dev/null
@@ -1,50 +0,0 @@
-name: Standard Build and Test
-
-on:
- # allows us to run workflows manually
- workflow_dispatch:
- pull_request:
- branches:
- - master
- paths-ignore:
- - '.github/workflows/docker_publish.yml'
-
- push:
- branches:
- - master
- paths-ignore:
- - '.github/workflows/docker_publish.yml'
-
-
-jobs:
- BuildTest:
- runs-on: ubuntu-latest
-
- container:
- image: cyclus/cyclus-deps
-
- steps:
- - name: Checkout repository
- uses: actions/checkout@v2
-
- - name: setup
- run: |
- echo "HOME=/github/home/" >> $GITHUB_ENV
- echo "PATH=$PATH:${HOME}/.local/bin" >> $GITHUB_ENV
- echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${HOME}/.local/lib" >> $GITHUB_ENV
- - name: Building Cyclus
- run: |
- mkdir -p ${HOME}/.local/lib/python3.7/site-packages/
- cd ${GITHUB_WORKSPACE}
- python install.py -j 2 \
- --build-type=Release --core-version 999999.999999 \
- -DBLAS_LIBRARIES="/opt/conda/lib/libblas.so" \
- -DLAPACK_LIBRARIES="/opt/conda/lib/liblapack.so"
-
- - name: Unit Test
- run: |
- cyclus_unit_tests; exit $?
-
- - name: Nosetest
- run: |
- nosetests -w ${GITHUB_WORKSPACE}/tests; exit $?
diff --git a/.github/workflows/build_test_publish.yml b/.github/workflows/build_test_publish.yml
new file mode 100644
index 0000000000..5311b3fcd3
--- /dev/null
+++ b/.github/workflows/build_test_publish.yml
@@ -0,0 +1,56 @@
+name: Build, Test & Publish docker images for future CI and other users
+
+on:
+ # allows us to run workflows manually
+ workflow_dispatch:
+ pull_request:
+ push:
+ branches:
+ - main
+
+jobs:
+ build-dependency-and-test-img:
+ runs-on: ubuntu-latest
+
+ strategy:
+ matrix:
+ ubuntu_versions : [
+ 22.04,
+ ]
+ pkg_mgr : [
+ apt,
+ conda,
+ ]
+
+ name: Installing Dependencies, Building cyclus and running tests
+ steps:
+ - name: default environment
+ run: |
+ echo "tag-latest-on-default=false" >> "$GITHUB_ENV"
+
+ - name: condition on trigger parameters
+ if: ${{ github.repository_owner == 'cyclus' && github.ref == 'refs/heads/main' }}
+ run: |
+ echo "tag-latest-on-default=true" >> "$GITHUB_ENV"
+
+ - name: Log in to the Container registry
+ uses: docker/login-action@v2
+ with:
+ registry: ghcr.io
+ username: ${{ github.repository_owner }}
+ password: ${{ secrets.GITHUB_TOKEN }}
+
+ - name: Checkout repository
+ uses: actions/checkout@v3
+
+ - name: Installing Dependencies in Docker image
+ uses: firehed/multistage-docker-build-action@v1
+ with:
+ repository: ghcr.io/${{ github.repository_owner }}/cyclus_${{ matrix.ubuntu_versions }}_${{ matrix.pkg_mgr }}
+ stages: ${{ matrix.pkg_mgr }}-deps, cyclus
+ server-stage: cyclus-test
+ quiet: false
+ parallel: true
+ tag-latest-on-default: ${{ env.tag-latest-on-default }}
+ dockerfile: docker/Dockerfile
+ build-args: pkg_mgr=${{ matrix.pkg_mgr }}
\ No newline at end of file
diff --git a/.github/workflows/changelog_test.yml b/.github/workflows/changelog_test.yml
index 87f3daba13..b8cdd106d3 100644
--- a/.github/workflows/changelog_test.yml
+++ b/.github/workflows/changelog_test.yml
@@ -10,7 +10,6 @@ env:
jobs:
changelog_update:
- if: ${{ github.event_name == 'pull_request' }}
runs-on: ubuntu-latest
container:
image: alpine:3.14
@@ -23,10 +22,17 @@ jobs:
git --version
- name: Checkout repository
- uses: actions/checkout@v2
-
- - name: Housekeeping
- run: |
+ uses: actions/checkout@v3
+
+ - run: |
+ git config --global --add safe.directory ${GITHUB_WORKSPACE}
cd $GITHUB_WORKSPACE
- housekeeping_script/changelog_test.sh
+ git remote add cyclus https://github.com/cyclus/cyclus.git
+ git fetch cyclus
+ change=`git diff cyclus/main -- CHANGELOG.rst | wc -l`
+ git remote remove cyclus
+ if [ $change -eq 0 ]; then
+ echo "CHANGELOG.rst has not been updated"
+ exit 1
+ fi
diff --git a/CHANGELOG.rst b/CHANGELOG.rst
index 9dc54da862..880d1831db 100644
--- a/CHANGELOG.rst
+++ b/CHANGELOG.rst
@@ -22,7 +22,8 @@ Since last release
**Changed:**
* Moved to unified CHANGELOG Entry and check them with GithubAction (#1571)
-
+* Major update and modernization of build (#1587)
+* Changed Json formatting for compatibility with current python standards (#1587)
**Removed:**
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5fd0f711e4..646aa72154 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,4 +1,4 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
+CMAKE_MINIMUM_REQUIRED(VERSION 3.16)
#taken from http://geant4.cern.ch/support/source/geant4/CMakeLists.txt
IF(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR})
message(STATUS "Cyclus requires an out-of-source build.")
@@ -10,20 +10,16 @@ IF(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR})
message(FATAL_ERROR "in-source build detected")
ENDIF()
-# Set some policies
-cmake_policy(SET CMP0040 OLD)
-cmake_policy(SET CMP0042 OLD)
-
# This project name is cyclus.
PROJECT(CYCLUS)
-# check for and enable c++11 support (required for cyclus)
+# check for and enable c++17 support (required for cyclus)
INCLUDE(CheckCXXCompilerFlag)
-CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)
-IF(COMPILER_SUPPORTS_CXX11)
- SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
+CHECK_CXX_COMPILER_FLAG("-std=c++17" COMPILER_SUPPORTS_CXX17)
+IF(COMPILER_SUPPORTS_CXX17)
+ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17")
ELSE()
- MESSAGE(STATUS "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support. Please use a different C++ compiler.")
+ MESSAGE(STATUS "The compiler ${CMAKE_CXX_COMPILER} has no C++17 support. Please use a different C++ compiler.")
ENDIF()
# enable assembly
@@ -108,8 +104,9 @@ IF(NOT CYCLUS_DOC_ONLY)
endif()
# Tell CMake where the modules are
- LIST(APPEND CMAKE_MODULE_PATH
- "${CMAKE_DIR}/share/cmake-2.8/Modules" "${PROJECT_SOURCE_DIR}/cmake")
+ MESSAGE("-- CMAKE_MODULE_PATH: ${CMAKE_MODULE_PATH}")
+ LIST(APPEND CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH}
+ "${PROJECT_SOURCE_DIR}/cmake")
# Include macros
INCLUDE(CopyWhenDiffMacro)
@@ -162,24 +159,29 @@ IF(NOT CYCLUS_DOC_ONLY)
MESSAGE("-- Dependency Binary Hints (DEPS_BIN_HINTS): ${DEPS_BIN_HINTS}")
MESSAGE("-- Dependency Library Hints (DEPS_LIB_HINTS): ${DEPS_LIB_HINTS}")
MESSAGE("-- Dependency Include Hints (DEPS_INCLUDE_HINTS): ${DEPS_INCLUDE_HINTS}")
+ MESSAGE("CMAKE_MODULE_PATH: ${CMAKE_MODULE_PATH}")
+
+ # Search pkg-config utility first
+ find_package(PkgConfig REQUIRED)
+
# Debian installs useful LibXML2 files to /usr/include/libxml2/libxml
# libxml2 is required for relaxng schema validation
- FIND_PACKAGE(LibXml2 ${DEPS_HINTS})
- IF(NOT LIBXML2_LIBRARIES)
- FIND_LIBRARY(LibXml2 REQUIRED ${DEPS_HINTS})
- ENDIF()
+
+ FIND_PACKAGE(LibXml2 REQUIRED)
ADD_DEFINITIONS(${LIBXML2_DEFINITIONS})
SET(LIBS ${LIBS} ${LIBXML2_LIBRARIES})
-
- # Find LibXML++ and dependencies
- FIND_PACKAGE(LibXML++)
- IF(NOT LibXML++_LIBRARIES)
- FIND_LIBRARY(LibXML++ REQUIRED ${DEPS_HINTS})
- ENDIF()
- SET(LIBS ${LIBS} ${LibXML++_LIBRARIES})
- message("-- LibXML++ Include Dir: ${LibXML++_INCLUDE_DIR}")
-
+ message("-- LibXML2 Include Dir: ${LIBXML2_INCLUDE_DIR}")
+
+ # Then use pkg-config for locate specific package
+ pkg_check_modules(LIBXMLXX IMPORTED_TARGET libxml++-4.0)
+ IF ( NOT LIBXMLXX_LIBRARIES )
+ pkg_check_modules(LIBXMLXX REQUIRED IMPORTED_TARGET libxml++-2.6)
+ ENDIF ( NOT LIBXMLXX_LIBRARIES )
+ SET(LIBS ${LIBS} ${LIBXMLXX_LIBRARIES})
+ message("-- LibXML++ Include Dir: ${LIBXMLXX_INCLUDE_DIRS}")
+ message("-- LibXML++ Librarires: ${LIBXMLXX_LIBRARIES}")
+
# find lapack and link to it
FIND_PACKAGE(LAPACK REQUIRED)
set(LIBS ${LIBS} ${LAPACK_LIBRARIES})
@@ -188,8 +190,9 @@ IF(NOT CYCLUS_DOC_ONLY)
MESSAGE("-- Found BLAS Libraries: ${BLAS_LIBRARIES}")
# Find Sqlite3
- FIND_PACKAGE(Sqlite3 REQUIRED)
- SET(LIBS ${LIBS} ${SQLITE3_LIBRARIES})
+ FIND_PACKAGE(SQLite3 REQUIRED)
+ SET(LIBS ${LIBS} ${SQLite3_LIBRARIES})
+ MESSAGE("-- Found SQLite3 Libraries: ${SQLite3_LIBRARIES}")
# Find HDF5
FIND_PACKAGE(HDF5 REQUIRED COMPONENTS HL)
@@ -300,8 +303,8 @@ IF(NOT CYCLUS_DOC_ONLY)
# Cython & Python Bindings
#
# Use new Python library finder
- find_package(PythonInterp)
- find_package(PythonLibs)
+ find_package (Python3 COMPONENTS Interpreter Development NumPy)
+
execute_process(COMMAND "${PYTHON_EXECUTABLE}" -c
"import site; print(site.getsitepackages(['${CMAKE_INSTALL_PREFIX}'])[0])"
OUTPUT_VARIABLE PYTHON_SITE_PACKAGES
@@ -321,7 +324,6 @@ IF(NOT CYCLUS_DOC_ONLY)
endif()
include(UseCython)
- find_package(Numpy REQUIRED)
find_package(Jinja2 REQUIRED)
find_package(Pandas REQUIRED)
@@ -362,10 +364,10 @@ IF(NOT CYCLUS_DOC_ONLY)
# ${Glibmm_INCLUDE_DIRS} breaks Ubuntu 12.04
set(inc_dirs
"${LIBXML2_INCLUDE_DIR}"
- "${LibXML++_INCLUDE_DIR}"
+ "${LIBXMLXX_INCLUDE_DIRS}"
"${Glibmm_INCLUDE_DIRS}"
- "${LibXML++Config_INCLUDE_DIR}"
- "${SQLITE3_INCLUDE_DIR}"
+ "${LIBXMLXXConfig_INCLUDE_DIR}"
+ "${SQLite3_INCLUDE_DIR}"
"${HDF5_INCLUDE_DIRS}"
"${Boost_INCLUDE_DIR}"
"${COIN_INCLUDE_DIRS}")
@@ -376,8 +378,7 @@ IF(NOT CYCLUS_DOC_ONLY)
if(Cython_FOUND)
- INCLUDE_DIRECTORIES(AFTER "${PYTHON_INCLUDE_DIRS}"
- "${NUMPY_INCLUDE_DIRS}")
+ INCLUDE_DIRECTORIES(AFTER "${PYTHON_INCLUDE_DIRS}" "${_Python3_NumPy_INCLUDE_DIR}")
endif(Cython_FOUND)
# set core version, one way or the other
IF(NOT "${CORE_VERSION}" STREQUAL "")
@@ -403,7 +404,7 @@ IF(NOT CYCLUS_DOC_ONLY)
if(Cython_FOUND)
ADD_SUBDIRECTORY("${CYCLUS_PYSOURCE_DIR}")
endif(Cython_FOUND)
-
+
##############################################################################################
####################################### end includes #########################################
##############################################################################################
@@ -489,7 +490,7 @@ IF(NOT CYCLUS_DOC_ONLY)
SET(CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_DEPENDS}, libboost-program-options-dev (>= 1.54.0)")
SET(CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_DEPENDS}, libboost-serialization-dev (>= 1.54.0)")
SET(CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_DEPENDS}, libhdf5-dev (>= 1.8.11)")
- SET(CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_DEPENDS}, libxml++2.6-dev (>= 2.36.0)")
+ SET(CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_DEPENDS}, libxml++2.6-dev (>= 2.6.0)")
SET(CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_DEPENDS}, coinor-libcbc-dev (>= 2.8.7)")
MESSAGE("CPACK_DEBIAN_PACKAGE_DEPENDS ${CPACK_DEBIAN_PACKAGE_DEPENDS}")
diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst
index 0bcf6210f6..7be4d0df16 100644
--- a/CONTRIBUTING.rst
+++ b/CONTRIBUTING.rst
@@ -12,9 +12,9 @@ General Notes
* Use a branching workflow similar to the one described at
http://progit.org/book/ch3-4.html.
-* Keep your own "master" branch in sync with the mainline
- repository's "master" branch. Specifically, do not push your
- own commits directly to your "master" branch.
+* Keep your own "main" branch in sync with the mainline
+ repository's "main" branch. Specifically, do not push your
+ own commits directly to your "main" branch.
* Any commit should *pass all tests* (see `Running Tests`_).
@@ -30,11 +30,11 @@ Issuing a Pull Request
======================
* When you are ready to move changes from one of your topic branches into the
- "master" branch, it must be reviewed and accepted by another developer.
+ "main" branch, it must be reviewed and accepted by another developer.
* You may want to review this `tutorial
`_ before you make a
- pull request to the master branch.
+ pull request to the main branch.
Reviewing a Pull Request
========================
@@ -51,7 +51,7 @@ Reviewing a Pull Request
* Click the green "Merge Pull Request" button
* Note: if the button is not available, the requester needs to merge or rebase
- from the current HEAD of the mainline "master" branch
+ from the current HEAD of the mainline "main" branch
Running Tests
=============
@@ -75,7 +75,7 @@ Cautions
* **DO NOT** rebase any commits that have been pulled/pushed anywhere else other
than your own fork (especially if those commits have been integrated into the
blessed repository). You should NEVER rebase commits that are a part of the
- 'master' branch. *If you do, we will never, ever accept your pull request*.
+ 'main' branch. *If you do, we will never, ever accept your pull request*.
An Example
==========
@@ -96,7 +96,7 @@ Acquiring Cyclus and Workflow
-----------------------------
We begin with a fork of the mainline Cyclus repository. After initially forking
-the repo, we will have the master branch in your fork.
+the repo, we will have the main branch in your fork.
Acquiring a Fork of the Cyclus Repository
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -111,9 +111,9 @@ First, let's make our "work" branch:
.../cyclus_dir/$ git branch work
.../cyclus_dir/$ git push origin work
-We now have the following situation: there exists the mainline copy of the master
-branch, there exists your fork's copy of the master and working branches,
-*AND* there exists your *local* copy of the master and working branches. It is
+We now have the following situation: there exists the mainline copy of the main
+branch, there exists your fork's copy of the main and working branches,
+*AND* there exists your *local* copy of the main and working branches. It is
important now to note that you may wish to work from home or the office. If you keep your
fork's branches up to date (i.e., "push" your changes before you leave), only your *local*
copies of your branches may be different when you next sit down at the other location.
@@ -128,22 +128,22 @@ work, finished, and successfully pushed your changes to your *Origin*
repository. You are now at home and want to continue working a bit. To begin,
let's update our *home's local branches*::
- .../cyclus_dir/$ git checkout master
- .../cyclus_dir/$ git pull upstream master
- .../cyclus_dir/$ git push origin master
+ .../cyclus_dir/$ git checkout main
+ .../cyclus_dir/$ git pull upstream main
+ .../cyclus_dir/$ git push origin main
.../cyclus_dir/$ git checkout work
.../cyclus_dir/$ git pull origin work
- .../cyclus_dir/$ git rebase master
+ .../cyclus_dir/$ git rebase main
.../cyclus_dir/$ git push origin work
Perhaps a little explanation is required. We first want to make sure that this new local copy of
-the master branch is up-to-date with respect to the remote origin's branch and remote upstream's
+the main branch is up-to-date with respect to the remote origin's branch and remote upstream's
branch. If there was a change from the remote upstream's branch, we want to push that to origin.
We then follow the same process to update the work branch, except:
#. we don't need to worry about the *upstream* repo because it doesn't have a work branch, and
-#. we want to incorporate any changes which may have been introduced in the master branch update.
+#. we want to incorporate any changes which may have been introduced in the main branch update.
Workflow: The End
^^^^^^^^^^^^^^^^^
@@ -152,7 +152,7 @@ As time passes, you make some changes to files, and you commit those changes (to
branch*). Eventually (hopefully) you come to a stopping point where you have finished your project
on your work branch *AND* it compiles *AND* it runs input files correctly *AND* it passes all tests!
Perhaps you have found Nirvana. In any case, you've performed the final commit to your work branch,
-so it's time to make a pull request online and wait for our masterr friends to
+so it's time to make a pull request online and wait for our main friends to
review and accept it.
Sometimes, your pull request will be held by the reviewer until further changes
@@ -176,5 +176,5 @@ Releases
If you are going through a release of Cyclus and Cycamore, check out the release
procedure notes `here
-`_ and
+`_ and
on the `website `_.
diff --git a/README.rst b/README.rst
index e33233ae7d..64b02e3572 100644
--- a/README.rst
+++ b/README.rst
@@ -12,13 +12,13 @@ Cyclus Projects Status
-----------------------------------------------------------------------------------
**Branch** **Cyclus** **Cycamore** **Cymetric**
================ ================= =================== ===================
-master |cyclus_master| |cycamore_master| |cymetric_master|
+main |cyclus_main| |cycamore_main| |cymetric_main|
================ ================= =================== ===================
-.. |cyclus_master| image:: https://circleci.com/gh/cyclus/cyclus/tree/master.png?&circle-token= 35d82ba8661d4f32e0f084b9d8a2388fa62c0262
-.. |cycamore_master| image:: https://circleci.com/gh/cyclus/cycamore/tree/master.png?&circle-token= 333211090d5d5a15110eed1adbe079a6f3a4a704
-.. |cymetric_master| image:: https://circleci.com/gh/cyclus/cymetric/tree/master.png?&circle-token= 72639b59387f077973af98e7ce72996eac18b96c
+.. |cyclus_main| image:: https://circleci.com/gh/cyclus/cyclus/tree/main.png?&circle-token= 35d82ba8661d4f32e0f084b9d8a2388fa62c0262
+.. |cycamore_main| image:: https://circleci.com/gh/cyclus/cycamore/tree/main.png?&circle-token= 333211090d5d5a15110eed1adbe079a6f3a4a704
+.. |cymetric_main| image:: https://circleci.com/gh/cyclus/cymetric/tree/main.png?&circle-token= 72639b59387f077973af98e7ce72996eac18b96c
diff --git a/circle.yml b/circle.yml
deleted file mode 100644
index 0495b0a626..0000000000
--- a/circle.yml
+++ /dev/null
@@ -1,179 +0,0 @@
-version: 2
-jobs:
- # Update docker container
- deploy_latest: # Cyclus/dev -> Cyclus:latest
- docker:
- - image: circleci/ruby:2.4-node
- working_directory: ~/cyclus
- steps:
- # Ensure your image has git (required by git to clone via SSH) so that CircleCI can clone your repo
- - checkout
- - run:
- name: Place the proper Dockerfile
- command: cp docker/cyclus-ci/Dockerfile .
- - setup_remote_docker
- - run:
- name: log into Docker
- command: |
- docker login -u $DOCKER_USER -p $DOCKER_PASS
- - run:
- name: Build Docker container
- command: docker build --rm=false -t cyclus/cyclus:latest .
- - run:
- name: Push on DockerHub
- command: docker push cyclus/cyclus:latest # push to docker depot
-
- deploy_stable:
- docker: # Cyclus/master -> Cyclus:stable
- - image: circleci/ruby:2.4-node
- working_directory: ~/cyclus
- steps:
- - checkout
- - run:
- name: Place the proper Dockerfile
- command: cp docker/cyclus-ci/Dockerfile .
- - setup_remote_docker
- - run:
- name: Log on DockerHub
- command: |
- docker login -u $DOCKER_USER -p $DOCKER_PASS
- - run:
- name: Tag and Push on DockerHub
- command: |
- docker tag cyclus/cyclus:latest cyclus/cyclus:stable # creation
- docker push cyclus/cyclus:stable # push to docker depot
-
-
- # Debian package generation (on master update)
- deb_generation:
- docker:
- - image: circleci/ruby:2.4-node
- working_directory: ~/cyclus
- steps:
- - checkout
- - setup_remote_docker
- - run:
- name: Tag and Push on DockerHub
- command: |
- docker/deb-ci/build_upload_deb.sh 14
- docker/deb-ci/build_upload_deb.sh 16
-
-# Checking Cycamore and Cymetric compatibilities with the changes
- cycamore_master: ## Cycamore/master against Cyclus/dev
- docker:
- - image: cyclus/cyclus-deps
- working_directory: /root
- steps:
- # Ensure your image has git (required by git to clone via SSH) so that CircleCI can clone your repo
- - run: apt-get -qq update; apt-get -y install git openssh-client
- - run:
- name: save SHA to a file
- command: echo $CIRCLE_SHA1 > .circle-sha
- - restore_cache:
- keys:
- - v1-repo-{{ checksum ".circle-sha" }}
- - run:
- name: Checkout Cycamore Master
- command: |
- git clone https://github.com/cyclus/cycamore.git
- cd cycamore
- git fetch --all
- git checkout master
- - run:
- name: Build Cycamore
- command: |
- cd cycamore
- python install.py -j 2 --build-type=Release \
- -DBLAS_LIBRARIES="/opt/conda/lib/libblas.so" \
- -DLAPACK_LIBRARIES="/opt/conda/lib/liblapack.so"
- - run:
- name: Unit Test
- command: /root/.local/bin/cycamore_unit_tests; exit $?
- - run:
- name: Nosetests
- command: nosetests -w ~/cycamore/tests; exit $?
-
- cymetric_master: ## Cymetric/master against Cyclus/dev + Cycamore/dev
- docker:
- - image: cyclus/cyclus-deps
- working_directory: /root
- steps:
- # Ensure your image has git (required by git to clone via SSH) so that CircleCI can clone your repo
- - run: apt-get -qq update; apt-get -y install git openssh-client
- - run:
- name: save SHA to a file
- command: echo $CIRCLE_SHA1 > .circle-sha
- - restore_cache:
- keys:
- - v1-repo-{{ checksum ".circle-sha" }}
- - run:
- name: Checkout Cycamore Master
- command: |
- git clone https://github.com/cyclus/cycamore.git
- cd cycamore
- git fetch --all
- git checkout master
- - run:
- name: Build Cycamore
- command: |
- cd cycamore
- python install.py -j 2 --build-type=Release \
- -DBLAS_LIBRARIES="/opt/conda/lib/libblas.so" \
- -DLAPACK_LIBRARIES="/opt/conda/lib/liblapack.so"
- - run: cd ~/
- - run:
- name: Checkout Cymetric Master
- command: |
- git clone https://github.com/cyclus/cymetric.git
- cd cymetric
- git fetch --all
- git checkout master
- - run:
- name: Build/Install Cymetric
- command: |
- cd cymetric
- python setup.py install
- - run:
- name: Cymetric Nosetest
- command: nosetests -w ~/cymetric/tests; exit $?
-
- # some external triggers
- cyXX_trig:
- machine: true
- steps:
- - run:
- name: Cymetric/Cycamore Master Triggers
- command: |
- curl -X POST https://circleci.com/api/v1.1/project/github/cyclus/cycamore/tree/master?circle-token=$CYCAMORE_CIRCLE_TOKEN
- curl -X POST https://circleci.com/api/v1.1/project/github/cyclus/cymetric/tree/master?circle-token=$CYMETRIC_CIRCLE_TOKEN
-
-workflows:
- version: 2 #Needed ?? (already on the top of the file)
- build_and_test:
- jobs:
-
- # Merge on Master
- - deploy_latest:
- filters:
- branches:
- only: master
- - cyXX_trig:
- filters:
- branches:
- only: master
- requires:
- - deploy_latest
-
- # The following should now be done on version tag.
- - deploy_stable:
- filters:
- branches:
- ignore: /.*/
- tags:
- only: /.*/
- - deb_generation:
- filters:
- branches:
- ignore: /.*/
- tags:
- only: /.*/
diff --git a/cli/CMakeLists.txt b/cli/CMakeLists.txt
index 41f98a6e3c..ccc83f14f2 100644
--- a/cli/CMakeLists.txt
+++ b/cli/CMakeLists.txt
@@ -48,7 +48,7 @@ ADD_EXECUTABLE(
${CYCLUS_CORE_TEST_SOURCE}
cyclus_unit_test_driver.cc
)
-
+
TARGET_LINK_LIBRARIES(
cyclus_unit_tests
dl
@@ -57,7 +57,9 @@ TARGET_LINK_LIBRARIES(
agents
${CYCLUS_TEST_LIBRARIES}
)
-
+ MESSAGE(STATUS "(cli) CYCLUS_TEST_LIBRARIES: ${CYCLUS_TEST_LIBRARIES}")
+ MESSAGE(STATUS "(cli) CYCLUS_AGENT_TEST_LIBRARIES: ${CYCLUS_AGENT_TEST_LIBRARIES}")
+
INSTALL(
TARGETS cyclus_unit_tests
RUNTIME DESTINATION bin
diff --git a/cli/cyclus.cc b/cli/cyclus.cc
index ba0c62f001..9e198240f1 100644
--- a/cli/cyclus.cc
+++ b/cli/cyclus.cc
@@ -240,14 +240,14 @@ int ParseCliArgs(ArgInfo* ai, int argc, char* argv[]) {
("restart", po::value(),
"restart from the specified simulation snapshot [db-file]:[sim-id]:[timestep]")
("schema",
- "dump the cyclus master schema including all installed module schemas")
+ "dump the cyclus main schema including all installed module schemas")
("agent-schema", po::value(),
"dump the schema for the named agent")
("agent-version", po::value(),
"print the version of the specified agent")
("schema-path", po::value(),
- "manually specify the path to the cyclus master schema")
- ("flat-schema", "use the flat master simulation schema")
+ "manually specify the path to the cyclus main schema")
+ ("flat-schema", "use the flat main simulation schema")
("agent-annotations", po::value(),
"dump the annotations for the named agent")
("agent-listing,l", po::value(),
diff --git a/cli/cycpp.py b/cli/cycpp.py
index 6e8aa8a87e..5e72815a7d 100755
--- a/cli/cycpp.py
+++ b/cli/cycpp.py
@@ -48,7 +48,8 @@
import re
import sys
import uuid
-from collections import Sequence, Mapping, MutableMapping, OrderedDict
+from collections.abc import Sequence, Mapping, MutableMapping
+from collections import OrderedDict
from contextlib import contextmanager
from itertools import takewhile
from subprocess import Popen, PIPE
diff --git a/cmake/FindCOIN.cmake b/cmake/FindCOIN.cmake
index 5190103876..d57aa7469d 100644
--- a/cmake/FindCOIN.cmake
+++ b/cmake/FindCOIN.cmake
@@ -25,7 +25,7 @@
#
IF(NOT DEFINED COIN_ROOT_DIR)
SET(COIN_ROOT_DIR "$ENV{COIN_ROOT_DIR}")
- MESSAGE("\tCOIN Root Dir: ${COIN_INCLUDE_DIR}")
+ MESSAGE("COIN Root Dir from ENV: ${COIN_INCLUDE_DIR}")
ENDIF(NOT DEFINED COIN_ROOT_DIR)
MESSAGE(STATUS "COIN_ROOT_DIR hint is : ${COIN_ROOT_DIR}")
diff --git a/cmake/FindGlib.cmake b/cmake/FindGlib.cmake
deleted file mode 100644
index 623ccf4d6b..0000000000
--- a/cmake/FindGlib.cmake
+++ /dev/null
@@ -1,50 +0,0 @@
-#pkg_check_modules(GLIB_PKG glib-2.0)
-libfind_pkg_check_modules(GLIB_PKG glib-2.0)
-
-if(GLIB_PKG_FOUND)
- find_path(GLIB_INCLUDE_DIR NAMES glib.h PATH_SUFFIXES glib-2.0
- ${DEPS_INCLUDE_HINTS}
- PATHS
- ${GLIB_PKG_INCLUDE_DIRS}
- /usr/include/glib-2.0
- /usr/include
- /usr/local/include
- )
- find_path(GLIB_CONFIG_INCLUDE_DIR NAMES glibconfig.h
- ${DEPS_INCLUDE_HINTS}
- PATHS ${GLIB_PKG_LIBDIR} PATH_SUFFIXES glib-2.0/include)
-
- find_library(GLIB_LIBRARIES NAMES glib-2.0
- ${DEPS_LIB_HINTS}
- PATHS
- ${GLIB_PKG_LIBRARY_DIRS}
- /usr/lib
- /usr/local/lib
- )
-else(GLIB_PKG_FOUND)
- # Find Glib even if pkg-config is not working (eg. cross compiling to Windows)
- find_library(GLIB_LIBRARIES NAMES glib-2.0 ${DEPS_LIB_HINTS})
- string(REGEX REPLACE "/[^/]*$" "" GLIB_LIBRARIES_DIR ${GLIB_LIBRARIES})
-
- find_path(GLIB_INCLUDE_DIR NAMES glib.h
- ${DEPS_INCLUDE_HINTS}
- PATH_SUFFIXES glib-2.0
- )
- find_path(GLIB_CONFIG_INCLUDE_DIR NAMES glibconfig.h
- ${DEPS_INCLUDE_HINTS}
- PATHS ${GLIB_LIBRARIES_DIR} PATH_SUFFIXES glib-2.0/include)
-endif(GLIB_PKG_FOUND)
-
-if(GLIB_INCLUDE_DIR AND GLIB_CONFIG_INCLUDE_DIR AND GLIB_LIBRARIES)
- set(GLIB_INCLUDE_DIRS ${GLIB_INCLUDE_DIR} ${GLIB_CONFIG_INCLUDE_DIR})
-endif(GLIB_INCLUDE_DIR AND GLIB_CONFIG_INCLUDE_DIR AND GLIB_LIBRARIES)
-
-if(GLIB_INCLUDE_DIRS AND GLIB_LIBRARIES)
- set(GLIB_FOUND TRUE CACHE INTERNAL "glib-2.0 found")
- message(STATUS "Found glib-2.0: ${GLIB_INCLUDE_DIR}, ${GLIB_LIBRARIES}")
-else(GLIB_INCLUDE_DIRS AND GLIB_LIBRARIES)
- set(GLIB_FOUND FALSE CACHE INTERNAL "glib-2.0 found")
- message(STATUS "glib-2.0 not found.")
-endif(GLIB_INCLUDE_DIRS AND GLIB_LIBRARIES)
-
-mark_as_advanced(GLIB_INCLUDE_DIR GLIB_CONFIG_INCLUDE_DIR GLIB_INCLUDE_DIRS GLIB_LIBRARIES)
diff --git a/cmake/FindGlibmm.cmake b/cmake/FindGlibmm.cmake
deleted file mode 100644
index 3790e30164..0000000000
--- a/cmake/FindGlibmm.cmake
+++ /dev/null
@@ -1,45 +0,0 @@
-# - Try to find Glibmm-2.4
-# Once done, this will define
-#
-# Glibmm_FOUND - system has Glibmm
-# Glibmm_INCLUDE_DIRS - the Glibmm include directories
-# Glibmm_LIBRARIES - link these to use Glibmm
-
-include(LibFindMacros)
-
-# Dependencies
-libfind_package(Glibmm Glib)
-libfind_package(Glibmm SigC++)
-
-# Use pkg-config to get hints about paths
-libfind_pkg_check_modules(Glibmm_PKGCONF glibmm-2.4)
-
-# Main include dir
-find_path(Glibmm_INCLUDE_DIR
- NAMES glibmm/main.h
- ${DEPS_INCLUDE_HINTS}
- PATHS ${Glibmm_PKGCONF_INCLUDE_DIRS}
- PATH_SUFFIXES glibmm-2.4 include/glibmm-2.4
- )
-
-# Glib-related libraries also use a separate config header, which is in lib dir
-find_path(GlibmmConfig_INCLUDE_DIR
- NAMES glibmmconfig.h
- ${DEPS_INCLUDE_HINTS}
- PATHS ${Glibmm_PKGCONF_INCLUDE_DIRS} /usr
- PATH_SUFFIXES lib/glibmm-2.4/include
- )
-
-# find lib
-find_path(Glibmm_PKGCONF_LIBRARY_DIRS
- NAMES libglib-2.0.so
- ${DEPS_LIB_HINTS}
- PATH_SUFFIXES lib
- )
-libfind_library(Glibmm glibmm 2.4)
-
-# Set the include dir variables and the libraries and let libfind_process do the rest.
-# NOTE: Singular variables for this library, plural for libraries this this lib depends on.
-set(Glibmm_PROCESS_INCLUDES Glibmm_INCLUDE_DIR GlibmmConfig_INCLUDE_DIR GLIB_INCLUDE_DIRS SigC++_INCLUDE_DIRS)
-set(Glibmm_PROCESS_LIBS Glibmm_LIBRARY GLIB_LIBRARIES SigC++_LIBRARIES)
-libfind_process(Glibmm)
diff --git a/cmake/FindLibXML++.cmake b/cmake/FindLibXML++.cmake
deleted file mode 100644
index 51485f6d63..0000000000
--- a/cmake/FindLibXML++.cmake
+++ /dev/null
@@ -1,57 +0,0 @@
-# - Try to find LibXML++ 2.6
-# Once done, this will define
-#
-# LibXML++_FOUND - system has LibXML++
-# LibXML++_INCLUDE_DIRS - the LibXML++ include directories
-# LibXML++_LIBRARIES - link these to use LibXML++
-
-include(LibFindMacros)
-
-# Dependencies
-libfind_package(LibXML++ LibXml2 ${DEPS_HINTS})
-find_path(LIBXML2_INCLUDE_DIR
- NAMES libxml
- ${DEPS_INCLUDE_HINTS}
- PATH_SUFFIXES libxml2 include/libxml2
- )
-libfind_package(LibXML++ Glibmm)
-
-# Use pkg-config to get hints about paths
-libfind_pkg_check_modules(LibXML++_PKGCONF libxml++-2.6)
-
-# Main include dir
-find_path(LibXML++_INCLUDE_DIR
- NAMES libxml++/libxml++.h
- ${DEPS_INCLUDE_HINTS}
- PATHS ${LibXML++_PKGCONF_INCLUDE_DIRS}
- PATH_SUFFIXES libxml++-2.6 include/libxml++-2.6
- )
-
-# Glib-related libraries also use a separate config header, which is in lib dir
-find_path(LibXML++Config_INCLUDE_DIR
- NAMES libxml++config.h
- ${DEPS_HINTS}
- PATHS ${LibXML++_PKGCONF_INCLUDE_DIRS} /usr
- PATH_SUFFIXES lib/libxml++-2.6/include
- )
-
-# find lib
-find_path(LibXML++_PKGCONF_LIBRARY_DIRS
- NAMES xml++-2.6
- ${DEPS_LIB_DIR}
- PATH_SUFFIXES lib
- )
-libfind_library(LibXML++ xml++ 2.6)
- # Finally the library itself
-#find_library(LibXML++_LIBRARY
-# NAMES xml++-2.6
-# ${DEPS_LIB_DIR}
-# PATHS ${LibXML++_PKGCONF_LIBRARY_DIRS}
-# )
-
-# Set the include dir variables and the libraries and let libfind_process do the rest.
-# NOTE: Singular variables for this library, plural for libraries this this lib depends on.
-set(LibXML++_PROCESS_INCLUDES LibXML++_INCLUDE_DIR LibXML++Config_INCLUDE_DIR LIBXML2_INCLUDE_DIR Glibmm_INCLUDE_DIRS)
-set(LibXML++_PROCESS_LIBS LibXML++_LIBRARY LIBXML2_LIBRARIES Glibmm_LIBRARIES)
-
-libfind_process(LibXML++)
diff --git a/cmake/FindNumpy.cmake b/cmake/FindNumpy.cmake
deleted file mode 100644
index 136fce28cf..0000000000
--- a/cmake/FindNumpy.cmake
+++ /dev/null
@@ -1,87 +0,0 @@
-# - Find Numpy
-# NumPy is the fundamental package needed for scientific computing with Python
-# www.numpy.scipy.org
-#
-# The module defines the following variables:
-# NUMPY_FOUND - the system has numpy
-# NUMPY_INCLUDE_DIR - where to find numpy/arrayobject.h
-# NUMPY_INCLUDE_DIRS - numpy include directories
-# NUMPY_VERSION_STRING - version (ex. 1.2.3)
-# NUMPY_MAJOR_VERSION - major version (ex. 1)
-# NUMPY_MINOR_VERSION - minor version (ex. 2)
-# NUMPY_PATCH_VERSION - patch version (ex. 3)
-
-#=============================================================================
-# Copyright 2005-2012 EDF-EADS-Phimeca
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distributed this file outside of CMake, substitute the full
-# License text for the above reference.)
-
-# set NUMPY_INCLUDE_DIR
-find_package ( PythonInterp )
-
-if ( PYTHONINTERP_FOUND )
- execute_process ( COMMAND ${PYTHON_EXECUTABLE} -c "import numpy; print(numpy.get_include())"
- OUTPUT_VARIABLE NUMPY_INCLUDE_DIR
- ERROR_QUIET
- OUTPUT_STRIP_TRAILING_WHITESPACE )
-endif ()
-
-# set NUMPY_INCLUDE_DIRS
-set ( NUMPY_INCLUDE_DIRS ${NUMPY_INCLUDE_DIR} )
-
-# version
-if ( PYTHONINTERP_FOUND )
- execute_process ( COMMAND ${PYTHON_EXECUTABLE} -c "import numpy; print(numpy.__version__)"
- OUTPUT_VARIABLE NUMPY_VERSION_STRING
- OUTPUT_STRIP_TRAILING_WHITESPACE )
-
- if ( NUMPY_VERSION_STRING )
- string ( REGEX REPLACE "([0-9]+)\\..*" "\\1" NUMPY_MAJOR_VERSION ${NUMPY_VERSION_STRING} )
- string ( REGEX REPLACE "[0-9]+\\.([0-9]+).*" "\\1" NUMPY_MINOR_VERSION ${NUMPY_VERSION_STRING} )
- string ( REGEX REPLACE "[0-9]+\\.[0-9]+\\.([0-9]+).*" "\\1" NUMPY_PATCH_VERSION ${NUMPY_VERSION_STRING} )
- endif ()
-
-endif ()
-
-# check version
-set ( _NUMPY_VERSION_MATCH TRUE )
-if ( Numpy_FIND_VERSION AND NUMPY_VERSION )
- if ( Numpy_FIND_VERSION_EXACT )
- if ( Numpy_FIND_VERSION VERSION_EQUAL NUMPY_VERSION_STRING )
- else()
- set ( _NUMPY_VERSION_MATCH FALSE)
- endif ()
- else ()
- if ( Numpy_FIND_VERSION VERSION_GREATER NUMPY_VERSION_STRING )
- set ( _NUMPY_VERSION_MATCH FALSE )
- endif ()
- endif ()
-endif ()
-
-message("-- NUMPY_VERSION_STRING = ${NUMPY_VERSION_STRING}")
-
-# handle REQUIRED and QUIET options
-include ( FindPackageHandleStandardArgs )
-find_package_handle_standard_args ( Numpy DEFAULT_MSG
- NUMPY_VERSION_STRING
- _NUMPY_VERSION_MATCH
- NUMPY_INCLUDE_DIR
- NUMPY_INCLUDE_DIRS
-)
-
-mark_as_advanced (
- NUMPY_VERSION_STRING
- NUMPY_MAJOR_VERSION
- NUMPY_MINOR_VERSION
- NUMPY_PATCH_VERSION
- NUMPY_INCLUDE_DIR
- NUMPY_INCLUDE_DIRS
-)
diff --git a/cmake/FindSigC++.cmake b/cmake/FindSigC++.cmake
deleted file mode 100644
index 20133b11aa..0000000000
--- a/cmake/FindSigC++.cmake
+++ /dev/null
@@ -1,41 +0,0 @@
-# - Try to find SigC++-2.0
-# Once done, this will define
-#
-# SigC++_FOUND - system has SigC++
-# SigC++_INCLUDE_DIRS - the SigC++ include directories
-# SigC++_LIBRARIES - link these to use SigC++
-
-include(LibFindMacros)
-
-# Use pkg-config to get hints about paths
-libfind_pkg_check_modules(SigC++_PKGCONF sigc++-2.0)
-
-# Main include dir
-find_path(SigC++_INCLUDE_DIR
- NAMES sigc++/sigc++.h
- ${DEPS_INCLUDE_HINTS}
- PATHS ${SigC++_PKGCONF_INCLUDE_DIRS} ${SigC++_PKGCONF_INCLUDE_DIRS}/include
- PATH_SUFFIXES include/sigc++-2.0 sigc++-2.0
- )
-
-# Glib-related libraries also use a separate config header, which is in lib dir
-find_path(SigC++Config_INCLUDE_DIR
- NAMES sigc++config.h
- ${DEPS_INCLUDE_HINTS}
- PATHS ${SigC++_PKGCONF_INCLUDE_DIRS} /usr
- PATH_SUFFIXES lib/sigc++-2.0/include
- )
-
-# find lib
-find_path(SigC++_PKGCONF_LIBRARY_DIRS
- NAMES libsigc-2.0.so
- ${DEPS_LIB_HINTS}
- PATH_SUFFIXES lib
- )
-libfind_library(SigC++ sigc 2.0)
-
-# Set the include dir variables and the libraries and let libfind_process do the rest.
-# NOTE: Singular variables for this library, plural for libraries this this lib depends on.
-set(SigC++_PROCESS_INCLUDES SigC++_INCLUDE_DIR SigC++Config_INCLUDE_DIR)
-set(SigC++_PROCESS_LIBS SigC++_LIBRARY)
-libfind_process(SigC++)
diff --git a/cmake/FindSqlite3.cmake b/cmake/FindSqlite3.cmake
deleted file mode 100644
index 65064e7acc..0000000000
--- a/cmake/FindSqlite3.cmake
+++ /dev/null
@@ -1,58 +0,0 @@
-# - find Sqlite 3
-# SQLITE3_INCLUDE_DIR - Where to find Sqlite 3 header files (directory)
-# SQLITE3_LIBRARIES - Sqlite 3 libraries
-# SQLITE3_LIBRARY_RELEASE - Where the release library is
-# SQLITE3_LIBRARY_DEBUG - Where the debug library is
-# SQLITE3_FOUND - Set to TRUE if we found everything (library, includes and executable)
-
-# Copyright (c) 2010 Pau Garcia i Quiles,
-#
-# Redistribution and use is allowed according to the terms of the BSD license.
-# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
-#
-# Generated by CModuler, a CMake Module Generator - http://gitorious.org/cmoduler
-
-IF(SQLITE3_INCLUDE_DIR AND SQLITE3_LIBRARY_RELEASE AND SQLITE3_LIBRARY_DEBUG)
- SET(SQLITE3_FIND_QUIETLY TRUE)
-ENDIF(SQLITE3_INCLUDE_DIR AND SQLITE3_LIBRARY_RELEASE AND SQLITE3_LIBRARY_DEBUG)
-
-FIND_LIBRARY(SQLITE3_LIBRARY_RELEASE NAMES sqlite3 ${DEPS_LIB_HINTS})
-GET_FILENAME_COMPONENT(SQLITE3_INCLUDE_DIR "${SQLITE3_LIBRARY_RELEASE}" DIRECTORY)
-GET_FILENAME_COMPONENT(SQLITE3_INCLUDE_DIR "${SQLITE3_INCLUDE_DIR}" DIRECTORY)
-SET(SQLITE3_INCLUDE_DIR "${SQLITE3_INCLUDE_DIR}/include")
-
-FIND_LIBRARY(SQLITE3_LIBRARY_DEBUG NAMES sqlite3 sqlite3d
- ${DEPS_LIB_HINTS} HINTS /usr/lib/debug/usr/lib/)
-
-IF(SQLITE3_LIBRARY_RELEASE OR SQLITE3_LIBRARY_DEBUG AND SQLITE3_INCLUDE_DIR)
- SET(SQLITE3_FOUND TRUE)
-ENDIF(SQLITE3_LIBRARY_RELEASE OR SQLITE3_LIBRARY_DEBUG AND SQLITE3_INCLUDE_DIR)
-
-IF(SQLITE3_LIBRARY_DEBUG AND SQLITE3_LIBRARY_RELEASE)
- # if the generator supports configuration types then set
- # optimized and debug libraries, or if the CMAKE_BUILD_TYPE has a value
- IF(CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE)
- SET(SQLITE3_LIBRARIES optimized ${SQLITE3_LIBRARY_RELEASE} debug ${SQLITE3_LIBRARY_DEBUG})
- ELSE(CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE)
- # if there are no configuration types and CMAKE_BUILD_TYPE has no value
- # then just use the release libraries
- SET(SQLITE3_LIBRARIES ${SQLITE3_LIBRARY_RELEASE})
- ENDIF(CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE)
-ELSEIF(SQLITE3_LIBRARY_RELEASE)
- SET(SQLITE3_LIBRARIES ${SQLITE3_LIBRARY_RELEASE})
-ELSE(SQLITE3_LIBRARY_DEBUG AND SQLITE3_LIBRARY_RELEASE)
- SET(SQLITE3_LIBRARIES ${SQLITE3_LIBRARY_DEBUG})
-ENDIF(SQLITE3_LIBRARY_DEBUG AND SQLITE3_LIBRARY_RELEASE)
-
-IF(SQLITE3_FOUND)
- IF(NOT SQLITE3_FIND_QUIETLY)
- MESSAGE(STATUS "Found Sqlite3 header file in ${SQLITE3_INCLUDE_DIR}")
- MESSAGE(STATUS "Found Sqlite3 libraries: ${SQLITE3_LIBRARIES}")
- ENDIF(NOT SQLITE3_FIND_QUIETLY)
-ELSE(SQLITE3_FOUND)
- IF(SQLITE3_FIND_REQUIRED)
- MESSAGE(FATAL_ERROR "Could not find Sqlite3")
- ELSE(SQLITE3_FIND_REQUIRED)
- MESSAGE(STATUS "Optional package Sqlite3 was not found")
- ENDIF(SQLITE3_FIND_REQUIRED)
-ENDIF(SQLITE3_FOUND)
diff --git a/cmake/FindTcmalloc.cmake b/cmake/FindTcmalloc.cmake
deleted file mode 100644
index ec549b5f3a..0000000000
--- a/cmake/FindTcmalloc.cmake
+++ /dev/null
@@ -1,39 +0,0 @@
-# - Find Tcmalloc
-# Find the native Tcmalloc includes and library
-#
-# Tcmalloc_LIBRARIES - List of libraries when using Tcmalloc.
-# Tcmalloc_FOUND - True if Tcmalloc found.
-
-if (USE_TCMALLOC)
- set(Tcmalloc_NAMES tcmalloc)
-else ()
- set(Tcmalloc_NAMES tcmalloc_minimal tcmalloc)
-endif ()
-
-find_library(Tcmalloc_LIBRARY NO_DEFAULT_PATH
- NAMES ${Tcmalloc_NAMES}
- ${DEPS_HINTS}
- PATHS ${HT_DEPENDENCY_LIB_DIR} /lib /usr/lib /usr/local/lib /opt/local/lib
-)
-
-if (Tcmalloc_LIBRARY)
- set(Tcmalloc_FOUND TRUE)
- set( Tcmalloc_LIBRARIES ${Tcmalloc_LIBRARY} )
-else ()
- set(Tcmalloc_FOUND FALSE)
- set( Tcmalloc_LIBRARIES )
-endif ()
-
-if (Tcmalloc_FOUND)
- message(STATUS "Found Tcmalloc: ${Tcmalloc_LIBRARY}")
-else ()
- message(STATUS "Not Found Tcmalloc: ${Tcmalloc_LIBRARY}")
- if (Tcmalloc_FIND_REQUIRED)
- message(STATUS "Looked for Tcmalloc libraries named ${Tcmalloc_NAMES}.")
- message(FATAL_ERROR "Could NOT find Tcmalloc library")
- endif ()
-endif ()
-
-mark_as_advanced(
- Tcmalloc_LIBRARY
- )
diff --git a/cmake/UseCyclus.cmake b/cmake/UseCyclus.cmake
index c99c7f8d0c..6ef69e8620 100644
--- a/cmake/UseCyclus.cmake
+++ b/cmake/UseCyclus.cmake
@@ -127,32 +127,29 @@ MACRO(USE_CYCLUS lib_root src_root)
SET(CCOUT "${BUILD_DIR}/${src_root}.cc")
SET(CCFLAG "-o=${CCOUT}")
- # not sure if needed..
+ # do all processing for CC file - always needed
IF(NOT EXISTS ${CCOUT})
- MESSAGE(STATUS "Executing ${CYCPP} ${CCIN} ${PREPROCESSOR} ${CCFLAG} ${ORIG} ${INCL_ARGS}")
- EXECUTE_PROCESS(COMMAND ${CYCPP} ${CCIN} ${PREPROCESSOR} ${CCFLAG}
- ${ORIG} ${INCL_ARGS} RESULT_VARIABLE res_var)
- IF(NOT "${res_var}" STREQUAL "0")
- message(FATAL_ERROR "cycpp failed on '${CCIN}' with exit code '${res_var}'")
- ENDIF()
+ PREPROCESS_CYCLUS_FILE_(${CYCPP} ${CCIN} ${PREPROCESSOR} ${CCFLAG} ${ORIG} ${INCL_ARGS})
ENDIF(NOT EXISTS ${CCOUT})
SET(
"${lib_root}_CC"
"${${lib_root}_CC}" "${CCOUT}"
CACHE INTERNAL "Agent impl" FORCE
)
+
+ # check for existing of header file
IF(EXISTS "${HIN}")
- # not sure if we still need this...
+ # Do all processing for header file
IF(NOT EXISTS ${HOUT})
- MESSAGE(STATUS "Executing ${CYCPP} ${HIN} ${PREPROCESSOR} ${HFLAG} ${ORIG} ${INCL_ARGS}")
- EXECUTE_PROCESS(COMMAND ${CYCPP} ${HIN} ${PREPROCESSOR} ${HFLAG} ${ORIG} ${INCL_ARGS}
- RESULT_VARIABLE res_var)
-
- IF(NOT "${res_var}" STREQUAL "0")
- message(FATAL_ERROR "archetype preprocessing failed for ${HIN}, res_var = '${res_var}'")
- ENDIF()
-
+ PREPROCESS_CYCLUS_FILE_( ${CYCPP} ${HIN} ${PREPROCESSOR} ${HFLAG} ${ORIG} ${INCL_ARGS})
ENDIF(NOT EXISTS ${HOUT})
+ SET(
+ "${lib_root}_H"
+ "${${lib_root}_H}" "${HOUT}"
+ CACHE INTERNAL "Agent header" FORCE
+ )
+
+ # make custom Makefile target for CC and H file together for joint dependency
ADD_CUSTOM_COMMAND(
OUTPUT ${CCOUT}
OUTPUT ${HOUT}
@@ -165,12 +162,9 @@ MACRO(USE_CYCLUS lib_root src_root)
COMMENT "Executing ${CYCPP} ${HIN} ${PREPROCESSOR} ${HFLAG} ${ORIG} ${INCL_ARGS}"
COMMENT "Executing ${CYCPP} ${CCIN} ${PREPROCESSOR} ${CCFLAG} ${ORIG} ${INCL_ARGS}"
)
- SET(
- "${lib_root}_H"
- "${${lib_root}_H}" "${HOUT}"
- CACHE INTERNAL "Agent header" FORCE
- )
+ SET(DEP_LIST ${DEP_LIST} ${CCOUT} ${HOUT})
ELSE(EXISTS "${HIN}")
+ # Make custom Makefile target for CC file alone if ho header
ADD_CUSTOM_COMMAND(
OUTPUT ${CCOUT}
COMMAND ${CYCPP} ${CCIN} ${PREPROCESSOR} ${CCFLAG} ${ORIG} ${INCL_ARGS}
@@ -179,6 +173,7 @@ MACRO(USE_CYCLUS lib_root src_root)
DEPENDS ${CYCLUS_CUSTOM_HEADERS}
COMMENT "Executing ${CYCPP} ${CCIN} ${PREPROCESSOR} ${CCFLAG} ${ORIG} ${INCL_ARGS}"
)
+ SET(DEP_LIST ${CCOUT})
ENDIF(EXISTS "${HIN}")
# add tests
@@ -187,11 +182,20 @@ MACRO(USE_CYCLUS lib_root src_root)
SET(HTIN "${CMAKE_CURRENT_SOURCE_DIR}/${src_root}_tests.h")
SET(HTOUT "${BUILD_DIR}/${src_root}_tests.h")
SET(CMD "cp")
+
IF(EXISTS "${CCTIN}")
+ MESSAGE(STATUS "Copying ${CCTIN} to ${CCTOUT}.")
+ EXECUTE_PROCESS(COMMAND ${CMD} ${CCTIN} ${CCTOUT})
+ SET("${lib_root}_TEST_CC" "${${lib_root}_TEST_CC}" "${CCTOUT}"
+ CACHE INTERNAL "Agent test source" FORCE)
+
IF(EXISTS "${HTIN}")
# install test headers
MESSAGE(STATUS "Copying ${HTIN} to ${HTOUT}.")
EXECUTE_PROCESS(COMMAND ${CMD} ${HTIN} ${HTOUT})
+ SET("${lib_root}_TEST_H" "${${lib_root}_TEST_H}" "${HTOUT}"
+ CACHE INTERNAL "Agent test headers" FORCE)
+ # Create custom Makefile target for CC and H file together for joint dependency
ADD_CUSTOM_COMMAND(
OUTPUT ${HTOUT}
OUTPUT ${CCTOUT}
@@ -205,27 +209,34 @@ MACRO(USE_CYCLUS lib_root src_root)
COMMENT "Copying ${HTIN} to ${HTOUT}."
COMMENT "Copying ${CCTIN} to ${CCTOUT}."
)
- SET("${lib_root}_TEST_H" "${${lib_root}_TEST_H}" "${HTOUT}"
- CACHE INTERNAL "Agent test headers" FORCE)
+ SET(DEP_LIST ${DEP_LIST} ${HTOUT} ${CCTOUT})
+ ELSE(EXISTS "${HTIN}")
+ # create custom Makefile target for CC only
+ ADD_CUSTOM_COMMAND(
+ OUTPUT ${CCTOUT}
+ COMMAND ${CMD} ${CCTIN} ${CCTOUT}
+ DEPENDS ${CCTIN}
+ DEPENDS ${CCIN}
+ DEPENDS ${CYCLUS_CUSTOM_HEADERS}
+ COMMENT "Copying ${CCTIN} to ${CCTOUT}."
+ )
+ SET(DEP_LIST ${DEP_LIST} ${CCTOUT})
ENDIF(EXISTS "${HTIN}")
-
- # install test impl
- MESSAGE(STATUS "Copying ${CCTIN} to ${CCTOUT}.")
- EXECUTE_PROCESS(COMMAND ${CMD} ${CCTIN} ${CCTOUT})
- ADD_CUSTOM_COMMAND(
- OUTPUT ${CCTOUT}
- COMMAND ${CMD} ${CCTIN} ${CCTOUT}
- DEPENDS ${CCTIN}
- DEPENDS ${CCIN}
- DEPENDS ${CYCLUS_CUSTOM_HEADERS}
- COMMENT "Copying ${CCTIN} to ${CCTOUT}."
- )
- SET("${lib_root}_TEST_CC" "${${lib_root}_TEST_CC}" "${CCTOUT}"
- CACHE INTERNAL "Agent test source" FORCE)
ENDIF(EXISTS "${CCTIN}")
+
MESSAGE(STATUS "Finished construction of build files for agent: ${src_root}")
ENDMACRO()
+MACRO(PREPROCESS_CYCLUS_FILE_ cycpp filein preproc flags orig incl_args)
+ MESSAGE(STATUS "Executing ${cycpp} ${filein} ${preproc} ${flags} ${orig} ${incl_args}")
+ EXECUTE_PROCESS(COMMAND ${cycpp} ${filein} ${PREPROCESSOR} ${flags}
+ ${orig} ${incl_args} RESULT_VARIABLE res_var)
+ IF(NOT "${res_var}" STREQUAL "0")
+ message(FATAL_ERROR "${cycpp} failed on '${filein}' with exit code '${res_var}'")
+ ENDIF()
+
+ENDMACRO()
+
MACRO(INSTALL_CYCLUS_STANDALONE lib_root src_root lib_dir)
# clear variables before starting
SET("${lib_root}_H" "" CACHE INTERNAL "Agent header" FORCE)
@@ -266,11 +277,14 @@ MACRO(INSTALL_CYCLUS_MODULE lib_root lib_dir)
ENDMACRO()
MACRO(INSTALL_AGENT_LIB_ lib_name lib_src lib_h inst_dir)
+
+ ADD_CUSTOM_TARGET(${lib_name}-sources DEPENDS ${lib_src} ${lib_h})
+
# add lib
ADD_LIBRARY(${lib_name} ${lib_src})
TARGET_LINK_LIBRARIES(${lib_name} dl ${LIBS})
SET(CYCLUS_LIBRARIES ${CYCLUS_LIBRARIES} ${lib_root})
- ADD_DEPENDENCIES(${lib_name} ${lib_src} ${lib_h})
+ ADD_DEPENDENCIES(${lib_name} ${lib_name}-sources)
set(dest_ "lib/cyclus")
string(COMPARE EQUAL "${inst_dir}" "" is_empty)
diff --git a/conda-recipe/build.sh b/conda-recipe/build.sh
deleted file mode 100644
index db4d8f06fc..0000000000
--- a/conda-recipe/build.sh
+++ /dev/null
@@ -1,55 +0,0 @@
-#!/bin/bash
-
-mkdir build
-cd build
-export LD_LIBRARY_PATH=$PREFIX/lib/
-export CMAKE_LIBRARY_PATH=$PREFIX/lib/
-export PATH=$PREFIX/bin:$PATH
-
-export MACOSX_DEPLOYMENT_TARGET=
-
-#
-# Previous iterations have ahd trouble with hdf build vs. link
-# versions. Something like the following has helped in the past.
-#
-#### hack fix for hdf5 issues
-### if [[ `uname` == 'Linux' ]]; then
-### ln -s $PREFIX/lib/libhdf5.so.9 $PREFIX/lib/libhdf5.so.8
-### ln -s $PREFIX/lib/libhdf5_hl.so.9 $PREFIX/lib/libhdf5_hl.so.8
-### else
-### ln -s $PREFIX/lib/libhdf5.9.dylib $PREFIX/lib/libhdf5.8.dylib
-### ln -s $PREFIX/lib/libhdf5_hl.9.dylib $PREFIX/lib/libhdf5_hl.8.dylib
-### fi
-
-if [[ `uname` == 'Linux' ]]; then
- cmake .. \
- -DCMAKE_INSTALL_PREFIX=$PREFIX \
- -DHDF5_ROOT=$PREFIX \
- -DBOOST_ROOT=$PREFIX \
- -DBOOST_LIBRARYDIR=$PREFIX/lib \
- -DBoost_NO_SYSTEM_PATHS=ON \
- -DCMAKE_BUILD_TYPE=Release \
- -DLAPACK_LIBRARIES=$PREFIX/lib/liblapack.so \
- -DBLAS_LIBRARIES=$PREFIX/lib/libblas.so
-else
- echo $CFLAGS
- echo $LDFLAGS
- export MACOSX_DEPLOYMENT_TARGET=
- export DYLD_LIBRARY_PATH=$PREFIX/lib
- export LDFLAGS="-headerpad_max_install_names -headerpad"
- export CFLAGS="-headerpad_max_install_names -headerpad"
- export CXXFLAGS=
- cmake .. \
- -DCMAKE_INSTALL_PREFIX=$PREFIX \
- -DHDF5_ROOT=$PREFIX \
- -DCOIN_ROOT_DIR=$PREFIX \
- -DBOOST_ROOT=$PREFIX \
- -DCMAKE_BUILD_TYPE=Release \
- -DLAPACK_LIBRARIES=$PREFIX/lib/liblapack.dylib \
- -DBLAS_LIBRARIES=$PREFIX/lib/libblas.dylib
-fi
-
-make VERBOSE=1
-make install
-
-cd ..
diff --git a/conda-recipe/meta.yaml b/conda-recipe/meta.yaml
deleted file mode 100644
index 51ade4fceb..0000000000
--- a/conda-recipe/meta.yaml
+++ /dev/null
@@ -1,51 +0,0 @@
-package:
- name: cyclus
- version: 0.0
-
-# Only use fn and url for polyphemus compatability
-source:
- fn: cyclus-src.tar.gz # ["TRAVIS" not in environ]
- url: https://github.com/cyclus/cyclus/archive/develop.tar.gz # ["TRAVIS" not in environ]
- path: .. # ["TRAVIS" in environ]
-
-requirements:
- build:
- - sigcpp
- - glibmm
- - libxmlpp
- - coincbc
- - boost
- - hdf5
- - mylibxml2 # [osx]
- - libxml2 # [linux]
- - myglib # [osx]
- - libffi # [osx]
- - gettext # [osx]
- - pkg-config-lite # [osx]
- - cmake
- - python
- run:
- - sigcpp
- - glibmm
- - libxmlpp
- - coincbc
- - boost
- - hdf5
- - mylibxml2 # [osx]
- - libxml2 # [linux]
- - myglib # [osx]
- - libffi # [osx]
- - gettext # [osx]
- - pkg-config-lite # [osx]
-
-build:
- string: nightly
-
-test:
- requires:
- - nose
- - pytables
-
-about:
- home: Cyclus
- license: BSD Clause 3
diff --git a/conda-recipe/post-link.sh b/conda-recipe/post-link.sh
deleted file mode 100755
index e9d444048d..0000000000
--- a/conda-recipe/post-link.sh
+++ /dev/null
@@ -1,50 +0,0 @@
-# This script replaces the cyclus and cyclus_unit_tests commands with simple
-# wrappers that will modify the user's environment as needed to point
-# cyclus-sepcific envrionment variables to the conda install location $PREFIX.
-# Conda packaging has three phases which come to a head here.
-#
-# 1. builing the package on a builder's computer
-# 2. installing the package on the user's machine, where this script is run
-# 3. runtime, when the wrapper script(s) execute.
-#
-# At install time (2), the conda post-link phase will define some extra
-# environment variables, such as $PREFIX, that are not available elsewhere.
-# These variables are descriped at http://conda.pydata.org/docs/building/build-scripts.html
-# Otherwise envrionment variables in the wrapper script (eg $CYCLUS_PATH)
-# must be escaped here so that they are evaluated at run time (3) rather
-# than at build (1) or install (2).
-echo "post-link.sh, PREFIX: $PREFIX"
-
-mv $PREFIX/bin/cyclus $PREFIX/bin/cyclus_base
-echo "#!/bin/bash
-export CYCLUS_PATH=\"\$CYCLUS_PATH:\$HOME/.local/lib/cyclus:$PREFIX/lib/cyclus\"
-if [ -z \"\$CYCLUS_NUC_DATA\" ]; then
- export CYCLUS_NUC_DATA=\"$PREFIX/share/cyclus/cyclus_nuc_data.h5\"
-fi
-if [ -z \"\$CYCLUS_RNG_SCHEMA\" ]; then
- export CYCLUS_RNG_SCHEMA=\"$PREFIX/share/cyclus/cyclus.rng.in\"
-fi
-
-$PREFIX/bin/cyclus_base \$*
-" > $PREFIX/bin/cyclus
-chmod 755 $PREFIX/bin/cyclus
-
-# The library path modifications are here because cyclus installs
-# libgtest and libbaseagentunittests into the lib/cyclus directory.
-# We make this directory the last possible location to be searched.
-mv $PREFIX/bin/cyclus_unit_tests $PREFIX/bin/cyclus_unit_tests_base
-echo "#!/bin/bash
-export LD_LIBRARY_PATH=\"\$LD_LIBRARY_PATH:$PREFIX/lib/cyclus\"
-export DYLD_FALLBACK_LIBRARY_PATH=\"\$DYLD_FALLBACK_LIBRARY_PATH:$PREFIX/lib/cyclus\"
-export CYCLUS_PATH=\"\$CYCLUS_PATH:\$HOME/.local/lib/cyclus:$PREFIX/lib/cyclus\"
-if [ -z \"\$CYCLUS_NUC_DATA\" ]; then
- export CYCLUS_NUC_DATA=\"$PREFIX/share/cyclus/cyclus_nuc_data.h5\"
-fi
-if [ -z \"\$CYCLUS_RNG_SCHEMA\" ]; then
- export CYCLUS_RNG_SCHEMA=\"$PREFIX/share/cyclus/cyclus.rng.in\"
-fi
-
-$PREFIX/bin/cyclus_unit_tests_base \$*
-" > $PREFIX/bin/cyclus_unit_tests
-chmod 755 $PREFIX/bin/cyclus_unit_tests
-
diff --git a/cyclus/agents.pyx b/cyclus/agents.pyx
index 221a4ce8fb..9154d35691 100644
--- a/cyclus/agents.pyx
+++ b/cyclus/agents.pyx
@@ -17,7 +17,7 @@ from cpython cimport (PyObject, PyDict_New, PyDict_Contains,
import json
from inspect import getmro, getdoc
from copy import deepcopy
-from collections import Mapping
+from collections.abc import Mapping
from cyclus cimport cpp_cyclus
from cyclus.cpp_cyclus cimport shared_ptr, reinterpret_pointer_cast
diff --git a/cyclus/gentypesystem.py b/cyclus/gentypesystem.py
index 506dca2a9d..f50a5e45b3 100644
--- a/cyclus/gentypesystem.py
+++ b/cyclus/gentypesystem.py
@@ -10,7 +10,6 @@
import io
import os
import sys
-import imp
import json
import argparse
import platform
@@ -700,7 +699,7 @@ def convert_to_cpp(self, x, t):
'{valdecl}\n'
'cdef {type} cpp{var}\n',
'cpp{var} = {type}()\n'
- 'if not isinstance({var}, collections.Mapping):\n'
+ 'if not isinstance({var}, collections.abc.Mapping):\n'
' {var} = dict({var})\n'
'for {keyname}, {valname} in {var}.items():\n'
' {keybody.indent4}\n'
diff --git a/cyclus/jsoncpp.pyx b/cyclus/jsoncpp.pyx
index 7df8ae7ff6..5135802d52 100644
--- a/cyclus/jsoncpp.pyx
+++ b/cyclus/jsoncpp.pyx
@@ -35,7 +35,7 @@ cdef cpp_jsoncpp.Value * tocppval(object doc) except NULL:
cdef cpp_jsoncpp.Value * cval = NULL
if isinstance(doc, Value):
cval = new cpp_jsoncpp.Value( ( doc)._inst[0])
- elif isinstance(doc, collections.Mapping):
+ elif isinstance(doc, collections.abc.Mapping):
cval = new cpp_jsoncpp.Value( cpp_jsoncpp.objectValue)
for k, v in doc.items():
if not isinstance(k, basestring):
diff --git a/cyclus/lib.pyx b/cyclus/lib.pyx
index fe79b8337d..1512f280e5 100644
--- a/cyclus/lib.pyx
+++ b/cyclus/lib.pyx
@@ -22,7 +22,8 @@ from cpython.pycapsule cimport PyCapsule_GetPointer
from binascii import hexlify
import uuid
import os
-from collections import Mapping, Sequence, Iterable, defaultdict
+from collections import defaultdict
+from collections.abc import Mapping, Sequence, Iterable
from importlib import import_module
cimport numpy as np
@@ -853,7 +854,7 @@ class XMLFileLoader(_XMLFileLoader):
Create a new loader reading from the xml simulation input file and writing
to and initializing the backends in the recorder. The recorder must
- already have the backend registered. schema_file identifies the master
+ already have the backend registered. schema_file identifies the main
xml rng schema used to validate the input file. The format specifies the
input file format from one of: "none", "xml", "json", or "py".
"""
@@ -886,7 +887,7 @@ class XMLFlatLoader(_XMLFlatLoader):
Create a new loader reading from the xml simulation input file and writing
to and initializing the backends in the recorder. The recorder must
- already have the backend registered. schema_file identifies the master
+ already have the backend registered. schema_file identifies the main
xml rng schema used to validate the input file. The format specifies the
input file format from one of: "none", "xml", "json", or "py".
diff --git a/cyclus/main.py b/cyclus/main.py
index 19af6e6091..21c17125c0 100644
--- a/cyclus/main.py
+++ b/cyclus/main.py
@@ -314,7 +314,7 @@ def make_parser():
help='restart from the specified simulation snapshot, '
'not supported.')
p.add_argument('--schema', action=Schema,
- help='dump the cyclus master schema including all '
+ help='dump the cyclus main schema including all '
'installed module schemas')
p.add_argument('--agent-schema', action=AgentSchema,
dest='agent_schema',
@@ -323,10 +323,10 @@ def make_parser():
dest='agent_version',
help='dump the version for the named agent')
p.add_argument('--schema-path', dest='schema_path', default=None,
- help='manually specify the path to the cyclus master schema')
+ help='manually specify the path to the cyclus main schema')
p.add_argument('--flat-schema', action='store_true', default=False,
dest='flat_schema',
- help='use the flat master simulation schema')
+ help='use the flat main simulation schema')
p.add_argument('--agent-annotations', action=AgentAnnotations,
dest='agent_annotations',
help='dump the annotations for the named agent')
@@ -364,7 +364,7 @@ def make_parser():
p.add_argument('--rng-schema', action=RngSchema,
help='print the path to cyclus.rng.in')
p.add_argument('--rng-print', action=RngPrint,
- help='print the master schema for the input simulation')
+ help='print the main schema for the input simulation')
p.add_argument('--nuc-data', action=NucData,
help='print the path to cyclus_nuc_data.h5')
p.add_argument('--json-to-xml', action=JsonToXml,
@@ -407,8 +407,8 @@ def run_simulation(ns):
state.si.context.sim_id)
print(msg)
-def print_master_schema(ns):
- """Prints the master schema for the simulation"""
+def print_main_schema(ns):
+ """Prints the main schema for the simulation"""
state = SimState(input_file=ns.input_file, input_format=ns.format,
output_path=ns.output_path, schema_path=ns.schema_path,
flat_schema=ns.flat_schema, print_ms=True)
@@ -422,7 +422,7 @@ def main(args=None):
p = make_parser()
ns = p.parse_args(args=args)
if(ns.rng_print):
- print_master_schema(ns)
+ print_main_schema(ns)
elif ns.input_file is not None:
run_simulation(ns)
diff --git a/cyclus/memback.pyx b/cyclus/memback.pyx
index 9f59a7fa75..3c6106d61e 100644
--- a/cyclus/memback.pyx
+++ b/cyclus/memback.pyx
@@ -100,7 +100,7 @@ cdef cppclass CyclusMemBack "CyclusMemBack" (cpp_cyclus.RecBackend):
if key_exists:
pyobval = PyDict_GetItem(