diff --git a/packages/oppulance/package.py b/packages/oppulance/package.py
index ffc1acab92f5c0cc2985ed7b9d62382c0dfe9026..159140c739d05136b3293a925d762b99a83ba988 100644
--- a/packages/oppulance/package.py
+++ b/packages/oppulance/package.py
@@ -41,18 +41,23 @@ class Oppulance(Package):
                 git='https://github.com/electronicvisions/{}'.format(res),
                 tag=release['tag'],
                 expand=False,
+                placement=res
             )
 
     def do_fetch(self, mirror_only=False):
         super(Oppulance, self).do_fetch(mirror_only)
         mkdirp(self.stage.source_path)
         tar = which('tar')
+        ln = which('ln')
         bash = which('bash')
         with working_dir(self.stage.source_path):
             for key in self.resources:
                 for res in self.resources[key]:
-                    tar('xf', res.fetcher.stage.archive_file)
-            tar('xf', self.stage.archive_file)
+                    if res.fetcher.stage.archive_file:
+                        tar('xf', res.fetcher.stage.archive_file)
+                    else:
+                        # freshly download
+                        ln('-sf', res.fetcher.stage.source_path, res.name)
             bash('gcc/ci/00_download_prerequisites.sh')
 
     def install(self, spec, prefix):
@@ -60,6 +65,6 @@ class Oppulance(Package):
         bash('binutils-gdb/ci/00_build_install.sh')
         bash('gcc/ci/01_build_install_freestanding.sh')
         bash('newlib/ci/00_build_install.sh')
-        bash('oppulance/ci/00_build_install_libstdc++.sh')
+        bash('ci/00_build_install_libstdc++.sh')
         mkdirp(spec.prefix)
         install_tree('install/.', spec.prefix)