Skip to content

Commit

Permalink
Merge pull request #14 from oxfordcontrol/cran-fixes
Browse files Browse the repository at this point in the history
CRAN fixes
  • Loading branch information
bnaras authored Sep 3, 2024
2 parents 593dbda + ab836a2 commit 13219b9
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 5 deletions.
6 changes: 3 additions & 3 deletions DESCRIPTION
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Package: clarabel
Type: Package
Title: Interior Point Conic Optimization Solver
Version: 0.9.0
Version: 0.9.0.1
Authors@R: c(person("Balasubramanian", "Narasimhan", role=c("aut", "cre"),
email = "[email protected]"),
person("Paul", "Goulart", role=c("aut", "cph")),
Expand All @@ -10,7 +10,7 @@ Authors@R: c(person("Balasubramanian", "Narasimhan", role=c("aut", "cre"),
comment = "For vendoring/Makefile hints/R scripts for generating crate authors/licenses"),
person(given = "The authors of the dependency Rust crates", role = c("ctb"),
comment = "see inst/AUTHORS file for details"))
Description: A versatile interior point solver that solves linear programs (LPs), quadratic programs (QPs), second-order cone programs (SOCPs), semidefinite programs (SDPs), and problems with exponential and power cone constraints (<https://clarabel.org/stable/>). For quadratic objectives, unlike interior point solvers based on the standard homogeneous self-dual embedding (HSDE) model, 'Clarabel' handles quadratic objective without requiring any epigraphical reformulation of its objective function. It can therefore be significantly faster than other HSDE-based solvers for problems with quadratic objective functions. Infeasible problems are detected using using a homogeneous embedding technique.
Description: A versatile interior point solver that solves linear programs (LPs), quadratic programs (QPs), second-order cone programs (SOCPs), semidefinite programs (SDPs), and problems with exponential and power cone constraints (<https://clarabel.org/stable/>). For quadratic objectives, unlike interior point solvers based on the standard homogeneous self-dual embedding (HSDE) model, Clarabel handles quadratic objective without requiring any epigraphical reformulation of its objective function. It can therefore be significantly faster than other HSDE-based solvers for problems with quadratic objective functions. Infeasible problems are detected using using a homogeneous embedding technique.
License: Apache License (== 2.0)
Encoding: UTF-8
Roxygen: list(markdown = TRUE)
Expand All @@ -24,6 +24,6 @@ Suggests:
rmarkdown,
tinytest
VignetteBuilder: knitr
SystemRequirements: Cargo (Rust package manager), rustc and GNU Make
SystemRequirements: Cargo (Rust's package manager), rustc (>= 1.67.1), and GNU Make
Imports:
methods
4 changes: 3 additions & 1 deletion src/Makevars.in
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ STATLIB = $(LIBDIR)/libclarabel.a
PKG_LIBS = -L$(LIBDIR) -lclarabel $(LAPACK_LIBS) $(BLAS_LIBS) $(FLIBS)

CARGOTMP = $(CURDIR)/rust/.cargo
CARGO_BUILD_ARGS = --jobs 2 --verbose --lib --manifest-path=./rust/Cargo.toml --target-dir $(TARGET_DIR)
CARGO_BUILD_ARGS = -j 2 --lib --manifest-path=./rust/Cargo.toml --target-dir $(TARGET_DIR)

all: C_clean

Expand All @@ -23,6 +23,8 @@ $(STATLIB):
# to set it here to ensure cargo can be invoked. It is appended to PATH and
# therefore is only used if cargo is absent from the user's PATH.
export PATH="$(PATH):$(HOME)/.cargo/bin" && \
echo "Rust version:" `rustc --version` && \
echo "Cargo version:" `cargo --version` && \
if [ "$(TARGET)" != "wasm32-unknown-emscripten" ]; then \
if [ "$(VENDORING)" = "yes" ]; then \
mkdir -p $(CARGOTMP); \
Expand Down
4 changes: 3 additions & 1 deletion src/Makevars.win
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,13 @@ $(STATLIB):
mkdir -p $(LIBDIR)/libgcc_mock && touch $(LIBDIR)/libgcc_mock/libgcc_eh.a
mkdir -p $(CARGOTMP) && cp ./rust/cargo_vendor_config.toml $(CARGOTMP)/config.toml
$(TAR) --extract --xz -f ./rust/vendor.tar.xz -C ./rust
echo "Rust version:" `rustc --version`
echo "Cargo version:" `cargo --version`

export CARGO_HOME="$(CARGOTMP)" && \
export CARGO_TARGET_X86_64_PC_WINDOWS_GNU_LINKER="$(CARGO_LINKER)" && \
export LIBRARY_PATH="$${LIBRARY_PATH};$(LIBDIR)/libgcc_mock" && \
cargo build --jobs 2 --target $(TARGET) --lib --offline --release --manifest-path ./rust/Cargo.toml --target-dir $(TARGET_DIR)
cargo build -j 2 --target $(TARGET) --lib --offline --release --manifest-path ./rust/Cargo.toml --target-dir $(TARGET_DIR)
rm -Rf $(CARGOTMP)
rm -Rf $(VENDOR_DIR)
rm -Rf $(LIBDIR)/build
Expand Down

0 comments on commit 13219b9

Please sign in to comment.