forked from vieter-v/vieter
				
			Still trying to just link some stuff bro
							parent
							
								
									cfcca90dfc
								
							
						
					
					
						commit
						05e725eb4e
					
				| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
*.c
 | 
			
		||||
data/
 | 
			
		||||
vieter.exe
 | 
			
		||||
vieter-prod.exe
 | 
			
		||||
vieter
 | 
			
		||||
vieter-prod
 | 
			
		||||
 | 
			
		||||
# Ignore testing files
 | 
			
		||||
*.pkg*
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										32
									
								
								Makefile
								
								
								
								
							
							
						
						
									
										32
									
								
								Makefile
								
								
								
								
							| 
						 | 
				
			
			@ -1,31 +1,37 @@
 | 
			
		|||
# =====CONFIG=====
 | 
			
		||||
SRC_DIR := src
 | 
			
		||||
SOURCES != find '$(SRC_DIR)' -iname '*.v'
 | 
			
		||||
 | 
			
		||||
LARCHIVE_VER := 3.5.2
 | 
			
		||||
LARCHIVE_DIR := libarchive-$(LARCHIVE_VER)
 | 
			
		||||
LARCHIVE_LIB := $(LARCHIVE_DIR)/.libs/libarchive.a
 | 
			
		||||
LARCHIVE_LIB := $(LARCHIVE_DIR)/libarchive/libarchive.so
 | 
			
		||||
 | 
			
		||||
# Custom V command for linking libarchive
 | 
			
		||||
V := LDFLAGS=$(PWD)/$(LARCHIVE_LIB) v -cflags -I$(PWD)/$(LARCHIVE_DIR)
 | 
			
		||||
# V := LDFLAGS=$(PWD)/$(LARCHIVE_LIB) v -cflags '-I$(PWD)/$(LARCHIVE_DIR) -I $(PWD)/$(LARCHIVE_DIR)'
 | 
			
		||||
V := v
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# =====COMPILATION=====
 | 
			
		||||
.PHONY: vieter
 | 
			
		||||
vieter:
 | 
			
		||||
	$(V) -cg -o vieter.exe vieter
 | 
			
		||||
.PHONY: debug
 | 
			
		||||
debug: vieter
 | 
			
		||||
vieter: $(SOURCES)
 | 
			
		||||
	$(V) -cg -o vieter $(SRC_DIR)
 | 
			
		||||
 | 
			
		||||
.PHONY: prod
 | 
			
		||||
prod:
 | 
			
		||||
	$(V) -o vieter-prod.exe -prod vieter
 | 
			
		||||
prod: vieter-prod
 | 
			
		||||
vieter-prod: $(SOURCES)
 | 
			
		||||
	$(V) -o vieter-prod -prod $(SRC_DIR)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# =====EXECUTION=====
 | 
			
		||||
# Run the server in the default 'data' directory
 | 
			
		||||
.PHONY: run
 | 
			
		||||
run: libarchive
 | 
			
		||||
	 API_KEY=test REPO_DIR=data LOG_LEVEL=DEBUG $(V) run vieter
 | 
			
		||||
run: vieter
 | 
			
		||||
	 API_KEY=test REPO_DIR=data LOG_LEVEL=DEBUG ./vieter
 | 
			
		||||
 | 
			
		||||
# Same as run, but restart when the source code changes
 | 
			
		||||
.PHONY: watch
 | 
			
		||||
watch: libarchive
 | 
			
		||||
watch:
 | 
			
		||||
	API_KEY=test REPO_DIR=data LOG_LEVEL=DEBUG $(V) watch run vieter
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -33,7 +39,7 @@ watch: libarchive
 | 
			
		|||
# Format the V codebase
 | 
			
		||||
.PHONY: fmt
 | 
			
		||||
fmt:
 | 
			
		||||
	v fmt -w vieter
 | 
			
		||||
	v fmt -w $(SRC_DIR)
 | 
			
		||||
 | 
			
		||||
# Pulls & builds my personal build of the v compiler, required for this project to function
 | 
			
		||||
.PHONY: customv
 | 
			
		||||
| 
						 | 
				
			
			@ -51,8 +57,8 @@ customv:
 | 
			
		|||
libarchive: $(LARCHIVE_LIB)
 | 
			
		||||
$(LARCHIVE_LIB):
 | 
			
		||||
	curl -o - "https://libarchive.org/downloads/libarchive-${LARCHIVE_VER}.tar.gz" | tar xzf -
 | 
			
		||||
	cd "libarchive-${LARCHIVE_VER}" && ./configure --disable-bsdtar --disable-bsdcpio
 | 
			
		||||
	cd "libarchive-${LARCHIVE_VER}" && cmake .
 | 
			
		||||
	'$(MAKE)' -C "libarchive-${LARCHIVE_VER}"
 | 
			
		||||
 | 
			
		||||
clean:
 | 
			
		||||
	rm -rf '$(LARCHIVE_DIR)' 'data'
 | 
			
		||||
	rm -rf '$(LARCHIVE_DIR)' 'data' 'vieter' 'vieter-prod'
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,20 @@
 | 
			
		|||
module archive
 | 
			
		||||
 | 
			
		||||
#flag -larchive
 | 
			
		||||
#include "archive.h"
 | 
			
		||||
#include "archive_entry.h"
 | 
			
		||||
 | 
			
		||||
struct C.archive {}
 | 
			
		||||
 | 
			
		||||
struct C.archive_entry {}
 | 
			
		||||
 | 
			
		||||
fn C.archive_read_new() &C.archive
 | 
			
		||||
fn C.archive_read_support_filter_all(&C.archive)
 | 
			
		||||
fn C.archive_read_support_format_all(&C.archive)
 | 
			
		||||
 | 
			
		||||
pub fn list_filenames() {
 | 
			
		||||
	a := C.archive_read_new()
 | 
			
		||||
	C.archive_read_support_filter_all(a)
 | 
			
		||||
	C.archive_read_support_format_all(a)
 | 
			
		||||
	println(a)
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -5,6 +5,7 @@ import os
 | 
			
		|||
import log
 | 
			
		||||
import io
 | 
			
		||||
import repo
 | 
			
		||||
import archive
 | 
			
		||||
 | 
			
		||||
const port = 8000
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -94,6 +95,7 @@ fn main() {
 | 
			
		|||
		logger.info("Created package directory '$repo.pkg_dir()'.")
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	archive.list_filenames()
 | 
			
		||||
	web.run(&App{
 | 
			
		||||
		logger: logger
 | 
			
		||||
		api_key: key
 | 
			
		||||
| 
						 | 
				
			
			@ -1,13 +0,0 @@
 | 
			
		|||
module archive
 | 
			
		||||
 | 
			
		||||
#include "libarchive/archive.h"
 | 
			
		||||
#include "libarchive/archive_entry.h"
 | 
			
		||||
 | 
			
		||||
struct C.archive {}
 | 
			
		||||
struct C.archive_entry {}
 | 
			
		||||
 | 
			
		||||
fn C.archive_read_new() &C.archive
 | 
			
		||||
 | 
			
		||||
pub fn list_filenames() {
 | 
			
		||||
	a := C.archive_read_new()
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
		Reference in New Issue